diff options
146 files changed, 256 insertions, 477 deletions
diff --git a/ChangeLog b/ChangeLog index e36cd58639..7853c66f55 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,178 @@ +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. + 2004-03-22 Richard Henderson <rth@redhat.com> * sysdeps/alpha/s_fabs.S: Remove file. diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 5155b79ae9..c75be9a91a 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,8 @@ 2004-03-23 Ulrich Drepper <drepper@redhat.com> + * sysdeps/ia64/pthread_spin_lock.c (pthread_spin_lock): Use hint + @pause in the loop. + * sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_mutex_trylock): No need to restrict type of ret. Make it int. Add comment. diff --git a/nptl/sysdeps/ia64/pthread_spin_lock.c b/nptl/sysdeps/ia64/pthread_spin_lock.c index f6b706ae71..71aaef9451 100644 --- a/nptl/sysdeps/ia64/pthread_spin_lock.c +++ b/nptl/sysdeps/ia64/pthread_spin_lock.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek <jakub@redhat.com>, 2003. @@ -29,7 +29,7 @@ pthread_spin_lock (lock) { /* Spin without using the atomic instruction. */ do - __asm __volatile ("" : : : "memory"); + __asm __volatile ("hint @pause" : : : "memory"); while (*p); } return 0; diff --git a/sysdeps/unix/sysv/linux/alpha/Implies b/sysdeps/unix/sysv/linux/alpha/Implies new file mode 100644 index 0000000000..8d91c80097 --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/Implies @@ -0,0 +1 @@ +unix/sysv/linux/wordsize-64 diff --git a/sysdeps/unix/sysv/linux/alpha/getdents64.c b/sysdeps/unix/sysv/linux/alpha/getdents64.c new file mode 100644 index 0000000000..e53570c036 --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/getdents64.c @@ -0,0 +1 @@ +#include "../getdents64.c" diff --git a/sysdeps/unix/sysv/linux/alpha/posix_fadvise.c b/sysdeps/unix/sysv/linux/alpha/posix_fadvise.c deleted file mode 100644 index a87426cf15..0000000000 --- a/sysdeps/unix/sysv/linux/alpha/posix_fadvise.c +++ /dev/null @@ -1,2 +0,0 @@ -#include <sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c> - diff --git a/sysdeps/unix/sysv/linux/alpha/syscalls.list b/sysdeps/unix/sysv/linux/alpha/syscalls.list index b3168dea26..3bbce1c6fd 100644 --- a/sysdeps/unix/sysv/linux/alpha/syscalls.list +++ b/sysdeps/unix/sysv/linux/alpha/syscalls.list @@ -18,19 +18,6 @@ vfork - vfork 0 __vfork vfork getpeername - getpeername i:ipp __getpeername getpeername getpriority - getpriority i:ii __getpriority getpriority -mmap - mmap b:aniiii __mmap mmap __mmap64 mmap64 -llseek EXTRA lseek C:3 __libc_lseek __lseek lseek __libc_lseek64 __llseek llseek __lseek64 lseek64 -lseek llseek - -pread - pread64 C:4 __libc_pread __libc_pread64 __pread pread __pread64 pread64 -pwrite - pwrite64 C:4 __libc_pwrite __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64 -fstatfs - fstatfs i:ip __fstatfs fstatfs __fstatfs64 fstatfs64 -statfs - statfs i:sp __statfs statfs statfs64 -getrlimit - getrlimit 2 __getrlimit getrlimit getrlimit64 -setrlimit - setrlimit 2 __setrlimit setrlimit64 setrlimit -ftruncate - ftruncate 2 __ftruncate ftruncate __ftruncate64 ftruncate64 -truncate - truncate 2 truncate truncate64 -readahead - readahead 3 __readahead readahead -sendfile - sendfile i:iipi sendfile sendfile64 open - open Ci:siv __libc_open __open open !__libc_open64 __open64 open64 open64 open - diff --git a/sysdeps/unix/sysv/linux/alpha/sysdep.h b/sysdeps/unix/sysv/linux/alpha/sysdep.h index 3c0988abd3..c3de78f4bb 100644 --- a/sysdeps/unix/sysv/linux/alpha/sysdep.h +++ b/sysdeps/unix/sysv/linux/alpha/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 2002, 2003 +/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. @@ -65,6 +65,16 @@ # define __NR_semtimedop 423 #endif +/* This is a kludge to make syscalls.list find these under the names + pread and pwrite, since some kernel headers define those names + and some define the *64 names for the same system calls. */ +#if !defined __NR_pread && defined __NR_pread64 +# define __NR_pread __NR_pread64 +#endif +#if !defined __NR_pwrite && defined __NR_pwrite64 +# define __NR_pwrite __NR_pwrite64 +#endif + /* * In order to get the hidden arguments for rt_sigaction set up * properly, we need to call the assembly version. This shouldn't diff --git a/sysdeps/unix/sysv/linux/ia64/Implies b/sysdeps/unix/sysv/linux/ia64/Implies new file mode 100644 index 0000000000..8d91c80097 --- /dev/null +++ b/sysdeps/unix/sysv/linux/ia64/Implies @@ -0,0 +1 @@ +unix/sysv/linux/wordsize-64 diff --git a/sysdeps/unix/sysv/linux/ia64/fstatfs64.c b/sysdeps/unix/sysv/linux/ia64/fstatfs64.c deleted file mode 100644 index 2be4e59ba4..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/fstatfs64.c +++ /dev/null @@ -1 +0,0 @@ -/* fstatfs64 is the same as fstatfs. */ diff --git a/sysdeps/unix/sysv/linux/ia64/ftruncate64.c b/sysdeps/unix/sysv/linux/ia64/ftruncate64.c deleted file mode 100644 index 673a8b525a..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/ftruncate64.c +++ /dev/null @@ -1 +0,0 @@ -/* ftruncate64 is the same as ftruncate. */ diff --git a/sysdeps/unix/sysv/linux/ia64/fxstat64.c b/sysdeps/unix/sysv/linux/ia64/fxstat64.c deleted file mode 100644 index 9eff9ebeb7..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/fxstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* fxstat64 is in fxstat.c */ diff --git a/sysdeps/unix/sysv/linux/ia64/getrlimit64.c b/sysdeps/unix/sysv/linux/ia64/getrlimit64.c deleted file mode 100644 index 9feab0e6b8..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/getrlimit64.c +++ /dev/null @@ -1 +0,0 @@ -/* getrlimit64 is the same as getrlimit. */ diff --git a/sysdeps/unix/sysv/linux/ia64/glob64.c b/sysdeps/unix/sysv/linux/ia64/glob64.c deleted file mode 100644 index 33918ea6a5..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/glob64.c +++ /dev/null @@ -1 +0,0 @@ -/* glob64 is in glob.c */ diff --git a/sysdeps/unix/sysv/linux/ia64/lxstat64.c b/sysdeps/unix/sysv/linux/ia64/lxstat64.c deleted file mode 100644 index bb5dbd0fff..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/lxstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* lxstat64 is in lxstat.c */ diff --git a/sysdeps/unix/sysv/linux/ia64/mmap64.c b/sysdeps/unix/sysv/linux/ia64/mmap64.c deleted file mode 100644 index 0dbd384a6a..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/mmap64.c +++ /dev/null @@ -1 +0,0 @@ -/* mmap64 is the same as mmap. */ diff --git a/sysdeps/unix/sysv/linux/ia64/posix_fadvise.c b/sysdeps/unix/sysv/linux/ia64/posix_fadvise.c deleted file mode 100644 index a87426cf15..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/posix_fadvise.c +++ /dev/null @@ -1,2 +0,0 @@ -#include <sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c> - diff --git a/sysdeps/unix/sysv/linux/ia64/posix_fadvise64.c b/sysdeps/unix/sysv/linux/ia64/posix_fadvise64.c deleted file mode 100644 index c9f72c4ce1..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/posix_fadvise64.c +++ /dev/null @@ -1 +0,0 @@ -/* posix_fadvise64 is in posix_fadvise.c */ diff --git a/sysdeps/unix/sysv/linux/ia64/pread64.c b/sysdeps/unix/sysv/linux/ia64/pread64.c deleted file mode 100644 index b7f298dea8..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/pread64.c +++ /dev/null @@ -1 +0,0 @@ -/* Empty since the pread syscall is equivalent. */ diff --git a/sysdeps/unix/sysv/linux/ia64/pwrite64.c b/sysdeps/unix/sysv/linux/ia64/pwrite64.c deleted file mode 100644 index b7f298dea8..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/pwrite64.c +++ /dev/null @@ -1 +0,0 @@ -/* Empty since the pread syscall is equivalent. */ diff --git a/sysdeps/unix/sysv/linux/ia64/sendfile64.c b/sysdeps/unix/sysv/linux/ia64/sendfile64.c deleted file mode 100644 index 4c451bd093..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/sendfile64.c +++ /dev/null @@ -1 +0,0 @@ -/* sendfile64 is alias of sendfile syscall. */ diff --git a/sysdeps/unix/sysv/linux/ia64/setrlimit64.c b/sysdeps/unix/sysv/linux/ia64/setrlimit64.c deleted file mode 100644 index 8edcff0086..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/setrlimit64.c +++ /dev/null @@ -1 +0,0 @@ -/* setrlimit64 is the same as setrlimit. */ diff --git a/sysdeps/unix/sysv/linux/ia64/statfs64.c b/sysdeps/unix/sysv/linux/ia64/statfs64.c deleted file mode 100644 index 06bc68826f..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/statfs64.c +++ /dev/null @@ -1 +0,0 @@ -/* statfs64 is the same as statfs. */ diff --git a/sysdeps/unix/sysv/linux/ia64/syscalls.list b/sysdeps/unix/sysv/linux/ia64/syscalls.list index 44131beb2e..31c7718d8b 100644 --- a/sysdeps/unix/sysv/linux/ia64/syscalls.list +++ b/sysdeps/unix/sysv/linux/ia64/syscalls.list @@ -2,22 +2,8 @@ umount2 - umount 2 __umount2 umount2 -# Whee! 64-bit systems naturally implement llseek. -llseek EXTRA lseek C:3 __libc_lseek __lseek lseek __libc_lseek64 __llseek llseek __lseek64 lseek64 -lseek llseek - -pread - pread C:4 __libc_pread __libc_pread64 __pread pread __pread64 pread64 -pwrite - pwrite C:4 __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 getpeername - getpeername i:ipp __getpeername getpeername getpriority - getpriority i:ii __getpriority getpriority -ftruncate - ftruncate 2 __ftruncate ftruncate ftruncate64 __ftruncate64 -truncate - truncate 2 truncate truncate64 -getrlimit - getrlimit 2 __getrlimit getrlimit getrlimit64 -setrlimit - setrlimit 2 __setrlimit setrlimit setrlimit64 -readahead - readahead 3 __readahead readahead -sendfile - sendfile i:iipi sendfile sendfile64 # semaphore and shm system calls msgctl - msgctl i:iip __msgctl msgctl diff --git a/sysdeps/unix/sysv/linux/ia64/truncate64.c b/sysdeps/unix/sysv/linux/ia64/truncate64.c deleted file mode 100644 index 8999768874..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/truncate64.c +++ /dev/null @@ -1 +0,0 @@ -/* truncate64 is the same as truncate. */ diff --git a/sysdeps/unix/sysv/linux/ia64/xstat64.c b/sysdeps/unix/sysv/linux/ia64/xstat64.c deleted file mode 100644 index e7acd3b45e..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/xstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* xstat64 is in xstat.c */ diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Implies b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Implies new file mode 100644 index 0000000000..8d91c80097 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Implies @@ -0,0 +1 @@ +unix/sysv/linux/wordsize-64 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c deleted file mode 100644 index f733001abe..0000000000 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c +++ /dev/null @@ -1,75 +0,0 @@ -/* Copyright (C) 1997,1998,1999,2000,2001,2002 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. */ - -#include <sys/types.h> -#include <errno.h> -#include <unistd.h> - -#include <sysdep.h> -#include <sys/syscall.h> - -#include "kernel-features.h" - -#ifdef __NR_ftruncate64 -#ifndef __ASSUME_TRUNCATE64_SYSCALL -/* The variable is shared between all wrappers around *truncate64 calls. */ -extern int have_no_truncate64; -#endif - - -/* Truncate the file FD refers to to LENGTH bytes. */ -int -__ftruncate64 (fd, length) - int fd; - off64_t length; -{ -#ifndef __ASSUME_TRUNCATE64_SYSCALL - if (! have_no_truncate64) -#endif - { -#ifndef __ASSUME_TRUNCATE64_SYSCALL - int saved_errno = errno; -#endif - int result = INLINE_SYSCALL (ftruncate64, 2, fd, length); - -#ifndef __ASSUME_TRUNCATE64_SYSCALL - if (result != -1 || errno != ENOSYS) -#endif - return result; - -#ifndef __ASSUME_TRUNCATE64_SYSCALL - __set_errno (saved_errno); - have_no_truncate64 = 1; -#endif - } - -#ifndef __ASSUME_TRUNCATE64_SYSCALL - if ((off_t) length != length) - { - __set_errno (EINVAL); - return -1; - } - return __ftruncate (fd, (off_t) length); -#endif -} -weak_alias (__ftruncate64, ftruncate64) - -#else -/* Use the generic implementation. */ -# include <sysdeps/generic/ftruncate64.c> -#endif diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/fxstat64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/fxstat64.c deleted file mode 100644 index 9eff9ebeb7..0000000000 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/fxstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* fxstat64 is in fxstat.c */ diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/glob64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/glob64.c deleted file mode 100644 index 4a3eee9c23..0000000000 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/glob64.c +++ /dev/null @@ -1,2 +0,0 @@ -/* glob64 is in glob.c */ -/* File glob64.c is redundent to glob.c in 64-bit. */ diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/lxstat64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/lxstat64.c deleted file mode 100644 index bb5dbd0fff..0000000000 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/lxstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* lxstat64 is in lxstat.c */ diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise.c deleted file mode 100644 index a87426cf15..0000000000 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise.c +++ /dev/null @@ -1,2 +0,0 @@ -#include <sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c> - diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise64.c deleted file mode 100644 index c9f72c4ce1..0000000000 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise64.c +++ /dev/null @@ -1 +0,0 @@ -/* posix_fadvise64 is in posix_fadvise.c */ diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list b/sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list new file mode 100644 index 0000000000..aee60bf9d5 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list @@ -0,0 +1,3 @@ +# File name Caller Syscall name # args Strong name Weak names + +getrlimit - ugetrlimit i:ip __getrlimit getrlimit getrlimit64 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c deleted file mode 100644 index cbf0669082..0000000000 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999, 2000, 2002 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. */ - -#include <sys/types.h> -#include <errno.h> -#include <unistd.h> - -#include <sysdep.h> -#include <sys/syscall.h> -#include <bp-checks.h> - -#include "kernel-features.h" - -#ifdef __NR_truncate64 -#ifndef __ASSUME_TRUNCATE64_SYSCALL -/* The variable is shared between all wrappers around *truncate64 calls. */ -int have_no_truncate64; -#endif - - -/* Truncate the file FD refers to to LENGTH bytes. */ -int -truncate64 (path, length) - const char *path; - off64_t length; -{ -#ifndef __ASSUME_TRUNCATE64_SYSCALL - if (! have_no_truncate64) -#endif - { -#ifndef __ASSUME_TRUNCATE64_SYSCALL - int saved_errno = errno; -#endif - int result = INLINE_SYSCALL (truncate64, 2, CHECK_STRING (path), - length); - -#ifndef __ASSUME_TRUNCATE64_SYSCALL - if (result != -1 || errno != ENOSYS) -#endif - return result; - -#ifndef __ASSUME_TRUNCATE64_SYSCALL - __set_errno (saved_errno); - have_no_truncate64 = 1; -#endif - } - -#ifndef __ASSUME_TRUNCATE64_SYSCALL - if ((off_t) length != length) - { - __set_errno (EINVAL); - return -1; - } - return truncate (path, (off_t) length); -#endif -} - -#else -/* Use the generic implementation. */ -# include <sysdeps/generic/truncate64.c> -#endif diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/xstat64.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/xstat64.c deleted file mode 100644 index e7acd3b45e..0000000000 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/xstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* xstat64 is in xstat.c */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/Implies b/sysdeps/unix/sysv/linux/s390/s390-64/Implies new file mode 100644 index 0000000000..8d91c80097 --- /dev/null +++ b/sysdeps/unix/sysv/linux/s390/s390-64/Implies @@ -0,0 +1 @@ +unix/sysv/linux/wordsize-64 diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/fstatfs64.c b/sysdeps/unix/sysv/linux/s390/s390-64/fstatfs64.c deleted file mode 100644 index 2be4e59ba4..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/fstatfs64.c +++ /dev/null @@ -1 +0,0 @@ -/* fstatfs64 is the same as fstatfs. */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/ftruncate64.c b/sysdeps/unix/sysv/linux/s390/s390-64/ftruncate64.c deleted file mode 100644 index 673a8b525a..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/ftruncate64.c +++ /dev/null @@ -1 +0,0 @@ -/* ftruncate64 is the same as ftruncate. */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c b/sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c deleted file mode 100644 index 3a7aa1ca6f..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c +++ /dev/null @@ -1,42 +0,0 @@ -/* fxstat using old-style Unix fstat system call. 64 bit S/390 version. - Copyright (C) 2001, 2002, 2003 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> - -/* Get information about the file FD in BUF. */ -int -__fxstat (int vers, int fd, struct stat *buf) -{ - return INLINE_SYSCALL (fstat, 2, fd, buf); -} - -hidden_def (__fxstat) -weak_alias (__fxstat, _fxstat); -#undef __fxstat64 -strong_alias (__fxstat, __fxstat64); -hidden_ver (__fxstat, __fxstat64) diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/fxstat64.c b/sysdeps/unix/sysv/linux/s390/s390-64/fxstat64.c deleted file mode 100644 index 9eff9ebeb7..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/fxstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* fxstat64 is in fxstat.c */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/getdents.c b/sysdeps/unix/sysv/linux/s390/s390-64/getdents.c deleted file mode 100644 index 491fa9dfb2..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/getdents.c +++ /dev/null @@ -1,4 +0,0 @@ -#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/s390/s390-64/getdents64.c b/sysdeps/unix/sysv/linux/s390/s390-64/getdents64.c deleted file mode 100644 index 0df2c8f4c6..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/getdents64.c +++ /dev/null @@ -1 +0,0 @@ -/* getdents64 is in getdents.c */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/getrlimit64.c b/sysdeps/unix/sysv/linux/s390/s390-64/getrlimit64.c deleted file mode 100644 index 9feab0e6b8..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/getrlimit64.c +++ /dev/null @@ -1 +0,0 @@ -/* getrlimit64 is the same as getrlimit. */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/glob64.c b/sysdeps/unix/sysv/linux/s390/s390-64/glob64.c deleted file mode 100644 index 33918ea6a5..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/glob64.c +++ /dev/null @@ -1 +0,0 @@ -/* glob64 is in glob.c */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c b/sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c deleted file mode 100644 index 71d6441619..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c +++ /dev/null @@ -1,42 +0,0 @@ -/* lxstat using old-style Unix fstat system call. 64 bit S/390 version. - Copyright (C) 2001, 2002, 2003 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> - -/* Get information about the file FD in BUF. */ -int -__lxstat (int vers, const char *name, struct stat *buf) -{ - return INLINE_SYSCALL (lstat, 2, name, buf); -} - -hidden_def (__lxstat) -weak_alias (__lxstat, _lxstat); -#undef __lxstat64 -strong_alias (__lxstat, __lxstat64); -hidden_ver (__lxstat, __lxstat64) diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/lxstat64.c b/sysdeps/unix/sysv/linux/s390/s390-64/lxstat64.c deleted file mode 100644 index bb5dbd0fff..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/lxstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* lxstat64 is in lxstat.c */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/mmap64.c b/sysdeps/unix/sysv/linux/s390/s390-64/mmap64.c deleted file mode 100644 index 0dbd384a6a..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/mmap64.c +++ /dev/null @@ -1 +0,0 @@ -/* mmap64 is the same as mmap. */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise.c b/sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise.c deleted file mode 100644 index a87426cf15..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise.c +++ /dev/null @@ -1,2 +0,0 @@ -#include <sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c> - diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise64.c b/sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise64.c deleted file mode 100644 index c9f72c4ce1..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise64.c +++ /dev/null @@ -1 +0,0 @@ -/* posix_fadvise64 is in posix_fadvise.c */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/pread64.c b/sysdeps/unix/sysv/linux/s390/s390-64/pread64.c deleted file mode 100644 index b7f298dea8..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/pread64.c +++ /dev/null @@ -1 +0,0 @@ -/* Empty since the pread syscall is equivalent. */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/pwrite64.c b/sysdeps/unix/sysv/linux/s390/s390-64/pwrite64.c deleted file mode 100644 index b1b25f65a3..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/pwrite64.c +++ /dev/null @@ -1 +0,0 @@ -/* Empty since the pwrite syscall is equivalent. */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/readdir.c b/sysdeps/unix/sysv/linux/s390/s390-64/readdir.c deleted file mode 100644 index 300ebb2629..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/readdir.c +++ /dev/null @@ -1,7 +0,0 @@ -#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/s390/s390-64/readdir64.c b/sysdeps/unix/sysv/linux/s390/s390-64/readdir64.c deleted file mode 100644 index 9796431dc4..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/readdir64.c +++ /dev/null @@ -1 +0,0 @@ -/* readdir64 is in readdir.c */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/readdir64_r.c b/sysdeps/unix/sysv/linux/s390/s390-64/readdir64_r.c deleted file mode 100644 index b8fe9a31b4..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/readdir64_r.c +++ /dev/null @@ -1 +0,0 @@ -/* readdir64_r is in readdir_r.c */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/readdir_r.c b/sysdeps/unix/sysv/linux/s390/s390-64/readdir_r.c deleted file mode 100644 index adb92db6af..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/readdir_r.c +++ /dev/null @@ -1,4 +0,0 @@ -#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/s390/s390-64/setrlimit64.c b/sysdeps/unix/sysv/linux/s390/s390-64/setrlimit64.c deleted file mode 100644 index 8edcff0086..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/setrlimit64.c +++ /dev/null @@ -1 +0,0 @@ -/* setrlimit64 is the same as setrlimit. */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/statfs64.c b/sysdeps/unix/sysv/linux/s390/s390-64/statfs64.c deleted file mode 100644 index 06bc68826f..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/statfs64.c +++ /dev/null @@ -1 +0,0 @@ -/* statfs64 is the same as statfs. */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list b/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list index cdfbe2a5ad..477f8a9f09 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list +++ b/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list @@ -1,16 +1,6 @@ # File name Caller Syscall name # args Strong name Weak names -llseek EXTRA lseek C:3 __libc_lseek __lseek lseek __libc_lseek64 __llseek llseek __lseek64 lseek64 -lseek llseek - -pread - pread64 C:4 __libc_pread __libc_pread64 __pread pread __pread64 pread64 -pwrite - pwrite64 C:4 __libc_pwrite __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64 -fstatfs - fstatfs i:ip __fstatfs fstatfs fstatfs64 __fstatfs64 -statfs - statfs i:sp __statfs statfs statfs64 getpeername - getpeername i:ipp __getpeername getpeername -ftruncate - ftruncate 2 __ftruncate ftruncate ftruncate64 __ftruncate64 -truncate - truncate 2 truncate truncate64 -getrlimit - getrlimit 2 __getrlimit getrlimit getrlimit64 -setrlimit - setrlimit 2 __setrlimit setrlimit setrlimit64 vfork - vfork 0 __vfork vfork # semaphore and shm system calls diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h index 2fb6e7a0cf..f0d7cbe2d9 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h +++ b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h @@ -33,14 +33,13 @@ /* * Newer kernel versions redefined __NR_pread and __NR_pwrite to - * __NR_pread64 and __NR_pwrite64. We use the new names but have - * to define them on our own for compiling against older kernels. + * __NR_pread64 and __NR_pwrite64. */ -#ifndef __NR_pread64 -# define __NR_pread64 __NR_pread +#ifndef __NR_pread +# define __NR_pread __NR_pread64 #endif -#ifndef __NR_pwrite64 -# define __NR_pwrite64 __NR_pwrite +#ifndef __NR_pwrite +# define __NR_pwrite __NR_pwrite64 #endif #undef SYS_ify diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/truncate64.c b/sysdeps/unix/sysv/linux/s390/s390-64/truncate64.c deleted file mode 100644 index 8999768874..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/truncate64.c +++ /dev/null @@ -1 +0,0 @@ -/* truncate64 is the same as truncate. */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/xstat.c b/sysdeps/unix/sysv/linux/s390/s390-64/xstat.c deleted file mode 100644 index 50b459bb5f..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/xstat.c +++ /dev/null @@ -1,41 +0,0 @@ -/* xstat using old-style Unix stat system call. 64 bit S/390 version. - Copyright (C) 2001, 2002, 2003 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> - -/* Get information about the file NAME in BUF. */ -int -__xstat (int vers, const char *name, struct stat *buf) -{ - return INLINE_SYSCALL (stat, 2, name, buf); -} -hidden_def (__xstat) -weak_alias (__xstat, _xstat); -#undef __xstat64 -strong_alias (__xstat, __xstat64); -hidden_ver (__xstat, __xstat64) diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/xstat64.c b/sysdeps/unix/sysv/linux/s390/s390-64/xstat64.c deleted file mode 100644 index e7acd3b45e..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/xstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* xstat64 is in xstat.c */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/Implies b/sysdeps/unix/sysv/linux/sparc/sparc64/Implies new file mode 100644 index 0000000000..8d91c80097 --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/Implies @@ -0,0 +1 @@ +unix/sysv/linux/wordsize-64 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/fstatfs64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/fstatfs64.c deleted file mode 100644 index 2be4e59ba4..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/fstatfs64.c +++ /dev/null @@ -1 +0,0 @@ -/* fstatfs64 is the same as fstatfs. */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/ftruncate64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/ftruncate64.c deleted file mode 100644 index 673a8b525a..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/ftruncate64.c +++ /dev/null @@ -1 +0,0 @@ -/* ftruncate64 is the same as ftruncate. */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c b/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c new file mode 100644 index 0000000000..6b374777b8 --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c @@ -0,0 +1 @@ +#include "../../fxstat.c" diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat64.c deleted file mode 100644 index 9eff9ebeb7..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* fxstat64 is in fxstat.c */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/getdents.c b/sysdeps/unix/sysv/linux/sparc/sparc64/getdents.c deleted file mode 100644 index 491fa9dfb2..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/getdents.c +++ /dev/null @@ -1,4 +0,0 @@ -#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/sparc/sparc64/getdents64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/getdents64.c deleted file mode 100644 index 0df2c8f4c6..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/getdents64.c +++ /dev/null @@ -1 +0,0 @@ -/* getdents64 is in getdents.c */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/getrlimit64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/getrlimit64.c deleted file mode 100644 index 9feab0e6b8..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/getrlimit64.c +++ /dev/null @@ -1 +0,0 @@ -/* getrlimit64 is the same as getrlimit. */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/glob64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/glob64.c deleted file mode 100644 index 33918ea6a5..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/glob64.c +++ /dev/null @@ -1 +0,0 @@ -/* glob64 is in glob.c */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/lxstat.c b/sysdeps/unix/sysv/linux/sparc/sparc64/lxstat.c new file mode 100644 index 0000000000..7637472dfc --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/lxstat.c @@ -0,0 +1 @@ +#include "../../lxstat.c" diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/lxstat64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/lxstat64.c deleted file mode 100644 index bb5dbd0fff..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/lxstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* lxstat64 is in lxstat.c */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c deleted file mode 100644 index 0dbd384a6a..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c +++ /dev/null @@ -1 +0,0 @@ -/* mmap64 is the same as mmap. */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise.c b/sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise.c deleted file mode 100644 index a87426cf15..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise.c +++ /dev/null @@ -1,2 +0,0 @@ -#include <sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c> - diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise64.c deleted file mode 100644 index c9f72c4ce1..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise64.c +++ /dev/null @@ -1 +0,0 @@ -/* posix_fadvise64 is in posix_fadvise.c */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/pread64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/pread64.c deleted file mode 100644 index b7f298dea8..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/pread64.c +++ /dev/null @@ -1 +0,0 @@ -/* Empty since the pread syscall is equivalent. */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/pwrite64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/pwrite64.c deleted file mode 100644 index b7f298dea8..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/pwrite64.c +++ /dev/null @@ -1 +0,0 @@ -/* Empty since the pread syscall is equivalent. */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c b/sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c deleted file mode 100644 index 300ebb2629..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c +++ /dev/null @@ -1,7 +0,0 @@ -#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/sparc/sparc64/readdir64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/readdir64.c deleted file mode 100644 index 9796431dc4..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/readdir64.c +++ /dev/null @@ -1 +0,0 @@ -/* readdir64 is in readdir.c */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/readdir64_r.c b/sysdeps/unix/sysv/linux/sparc/sparc64/readdir64_r.c deleted file mode 100644 index b8fe9a31b4..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/readdir64_r.c +++ /dev/null @@ -1 +0,0 @@ -/* readdir64_r is in readdir_r.c */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/readdir_r.c b/sysdeps/unix/sysv/linux/sparc/sparc64/readdir_r.c deleted file mode 100644 index adb92db6af..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/readdir_r.c +++ /dev/null @@ -1,4 +0,0 @@ -#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/sparc/sparc64/sendfile64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sendfile64.c deleted file mode 100644 index 4c451bd093..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/sendfile64.c +++ /dev/null @@ -1 +0,0 @@ -/* sendfile64 is alias of sendfile syscall. */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/setrlimit64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/setrlimit64.c deleted file mode 100644 index 8edcff0086..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/setrlimit64.c +++ /dev/null @@ -1 +0,0 @@ -/* setrlimit64 is the same as setrlimit. */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/statfs64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/statfs64.c deleted file mode 100644 index 06bc68826f..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/statfs64.c +++ /dev/null @@ -1 +0,0 @@ -/* statfs64 is the same as statfs. */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list b/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list index a34e49246e..ca2953c6b9 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list @@ -1,19 +1,5 @@ # File name Caller Syscall name # args Strong name Weak names -# Whee! 64-bit systems naturally implement llseek. -llseek EXTRA lseek C:3 __llseek llseek __libc_lseek64 __lseek64 lseek64 -pread - pread C:4 __libc_pread __libc_pread64 __pread pread __pread64 pread64 -pwrite - pwrite C:4 __libc_pwrite __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64 -fstatfs - fstatfs 2 __fstatfs fstatfs __fstatfs64 fstatfs64 -statfs - statfs 2 __statfs statfs statfs64 -getrlimit - getrlimit 2 __getrlimit getrlimit getrlimit64 -setrlimit - setrlimit 2 __setrlimit setrlimit64 setrlimit -ftruncate - ftruncate 2 __ftruncate ftruncate __ftruncate64 ftruncate64 -truncate - truncate 2 truncate truncate64 -mmap - mmap 6 __mmap mmap __mmap64 mmap64 -readahead - readahead 3 __readahead readahead -sendfile - sendfile i:iipi sendfile sendfile64 - # Override select.S in parent directory: select - select C:5 __select select accept - accept C:3 __libc_accept __accept accept diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/truncate64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/truncate64.c deleted file mode 100644 index 8999768874..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/truncate64.c +++ /dev/null @@ -1 +0,0 @@ -/* truncate64 is the same as truncate. */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c b/sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c new file mode 100644 index 0000000000..27d700b133 --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c @@ -0,0 +1 @@ +#include "../../xstat.c" diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/xstat64.c b/sysdeps/unix/sysv/linux/sparc/sparc64/xstat64.c deleted file mode 100644 index e7acd3b45e..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/xstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* xstat64 is in xstat.c */ diff --git a/sysdeps/unix/sysv/linux/alpha/fstatfs64.c b/sysdeps/unix/sysv/linux/wordsize-64/fstatfs64.c index 2be4e59ba4..2be4e59ba4 100644 --- a/sysdeps/unix/sysv/linux/alpha/fstatfs64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/fstatfs64.c 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 0000000000..d04bcd4b5e --- /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 0000000000..60f3dfec61 --- /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/alpha/ftruncate64.c b/sysdeps/unix/sysv/linux/wordsize-64/ftruncate64.c index 673a8b525a..673a8b525a 100644 --- a/sysdeps/unix/sysv/linux/alpha/ftruncate64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/ftruncate64.c diff --git a/sysdeps/unix/sysv/linux/ia64/fxstat.c b/sysdeps/unix/sysv/linux/wordsize-64/fxstat.c index cbcb3146dc..dd47dbbd8e 100644 --- a/sysdeps/unix/sysv/linux/ia64/fxstat.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/fxstat.c @@ -1,5 +1,5 @@ /* fxstat using old-style Unix fstat system call. - Copyright (C) 1991, 1995, 1996, 1997, 1998, 2000, 2002, 2003 + Copyright (C) 1991, 1995, 1996, 1997, 1998, 2000, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -34,7 +34,11 @@ int __fxstat (int vers, int fd, struct stat *buf) { - return INLINE_SYSCALL (fstat, 2, fd, CHECK_1 (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) diff --git a/sysdeps/unix/sysv/linux/alpha/fxstat64.c b/sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c index 9eff9ebeb7..9eff9ebeb7 100644 --- a/sysdeps/unix/sysv/linux/alpha/fxstat64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c diff --git a/sysdeps/unix/sysv/linux/ia64/getdents.c b/sysdeps/unix/sysv/linux/wordsize-64/getdents.c index 491fa9dfb2..491fa9dfb2 100644 --- a/sysdeps/unix/sysv/linux/ia64/getdents.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/getdents.c diff --git a/sysdeps/unix/sysv/linux/ia64/getdents64.c b/sysdeps/unix/sysv/linux/wordsize-64/getdents64.c index 0df2c8f4c6..0df2c8f4c6 100644 --- a/sysdeps/unix/sysv/linux/ia64/getdents64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/getdents64.c diff --git a/sysdeps/unix/sysv/linux/alpha/getrlimit64.c b/sysdeps/unix/sysv/linux/wordsize-64/getrlimit64.c index 9feab0e6b8..9feab0e6b8 100644 --- a/sysdeps/unix/sysv/linux/alpha/getrlimit64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/getrlimit64.c diff --git a/sysdeps/unix/sysv/linux/alpha/glob64.c b/sysdeps/unix/sysv/linux/wordsize-64/glob64.c index 33918ea6a5..33918ea6a5 100644 --- a/sysdeps/unix/sysv/linux/alpha/glob64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/glob64.c diff --git a/sysdeps/unix/sysv/linux/ia64/lxstat.c b/sysdeps/unix/sysv/linux/wordsize-64/lxstat.c index a2a30a38d6..2b937760e2 100644 --- a/sysdeps/unix/sysv/linux/ia64/lxstat.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/lxstat.c @@ -1,5 +1,5 @@ -/* lxstat using old-style Unix fstat system call. - Copyright (C) 1991, 1995, 1996, 1997, 1998, 2000, 2002, 2003 +/* 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. @@ -34,7 +34,11 @@ int __lxstat (int vers, const char *name, struct stat *buf) { - return INLINE_SYSCALL (lstat, 2, CHECK_STRING (name), CHECK_1 (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) diff --git a/sysdeps/unix/sysv/linux/alpha/lxstat64.c b/sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c index bb5dbd0fff..bb5dbd0fff 100644 --- a/sysdeps/unix/sysv/linux/alpha/lxstat64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c diff --git a/sysdeps/unix/sysv/linux/alpha/mmap64.c b/sysdeps/unix/sysv/linux/wordsize-64/mmap64.c index 0dbd384a6a..0dbd384a6a 100644 --- a/sysdeps/unix/sysv/linux/alpha/mmap64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/mmap64.c diff --git a/sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c b/sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c index b230748048..b230748048 100644 --- a/sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c diff --git a/sysdeps/unix/sysv/linux/alpha/posix_fadvise64.c b/sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise64.c index c9f72c4ce1..c9f72c4ce1 100644 --- a/sysdeps/unix/sysv/linux/alpha/posix_fadvise64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise64.c diff --git a/sysdeps/unix/sysv/linux/alpha/pread64.c b/sysdeps/unix/sysv/linux/wordsize-64/pread64.c index b7f298dea8..b7f298dea8 100644 --- a/sysdeps/unix/sysv/linux/alpha/pread64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/pread64.c diff --git a/sysdeps/unix/sysv/linux/alpha/pwrite64.c b/sysdeps/unix/sysv/linux/wordsize-64/pwrite64.c index b7f298dea8..b7f298dea8 100644 --- a/sysdeps/unix/sysv/linux/alpha/pwrite64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/pwrite64.c diff --git a/sysdeps/unix/sysv/linux/ia64/readdir.c b/sysdeps/unix/sysv/linux/wordsize-64/readdir.c index 300ebb2629..300ebb2629 100644 --- a/sysdeps/unix/sysv/linux/ia64/readdir.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/readdir.c diff --git a/sysdeps/unix/sysv/linux/ia64/readdir64.c b/sysdeps/unix/sysv/linux/wordsize-64/readdir64.c index 9796431dc4..9796431dc4 100644 --- a/sysdeps/unix/sysv/linux/ia64/readdir64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/readdir64.c diff --git a/sysdeps/unix/sysv/linux/ia64/readdir64_r.c b/sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c index b8fe9a31b4..b8fe9a31b4 100644 --- a/sysdeps/unix/sysv/linux/ia64/readdir64_r.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c diff --git a/sysdeps/unix/sysv/linux/ia64/readdir_r.c b/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c index adb92db6af..adb92db6af 100644 --- a/sysdeps/unix/sysv/linux/ia64/readdir_r.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c diff --git a/sysdeps/unix/sysv/linux/alpha/sendfile64.c b/sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c index 4c451bd093..4c451bd093 100644 --- a/sysdeps/unix/sysv/linux/alpha/sendfile64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c diff --git a/sysdeps/unix/sysv/linux/alpha/setrlimit64.c b/sysdeps/unix/sysv/linux/wordsize-64/setrlimit64.c index 8edcff0086..8edcff0086 100644 --- a/sysdeps/unix/sysv/linux/alpha/setrlimit64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/setrlimit64.c diff --git a/sysdeps/unix/sysv/linux/alpha/statfs64.c b/sysdeps/unix/sysv/linux/wordsize-64/statfs64.c index 06bc68826f..06bc68826f 100644 --- a/sysdeps/unix/sysv/linux/alpha/statfs64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/statfs64.c 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 0000000000..f369976cc2 --- /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 0000000000..510015e420 --- /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 0000000000..58904fc4d4 --- /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/alpha/truncate64.c b/sysdeps/unix/sysv/linux/wordsize-64/truncate64.c index 8999768874..8999768874 100644 --- a/sysdeps/unix/sysv/linux/alpha/truncate64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/truncate64.c diff --git a/sysdeps/unix/sysv/linux/ia64/xstat.c b/sysdeps/unix/sysv/linux/wordsize-64/xstat.c index 9f6b5d29fa..38f32b6641 100644 --- a/sysdeps/unix/sysv/linux/ia64/xstat.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/xstat.c @@ -1,5 +1,5 @@ /* xstat using old-style Unix stat system call. - Copyright (C) 1991, 1995, 1996, 1997, 1998, 2000, 2002, 2003 + Copyright (C) 1991, 1995, 1996, 1997, 1998, 2000, 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -34,7 +34,11 @@ int __xstat (int vers, const char *name, struct stat *buf) { - return INLINE_SYSCALL (stat, 2, name, CHECK_1 (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); diff --git a/sysdeps/unix/sysv/linux/alpha/xstat64.c b/sysdeps/unix/sysv/linux/wordsize-64/xstat64.c index e7acd3b45e..e7acd3b45e 100644 --- a/sysdeps/unix/sysv/linux/alpha/xstat64.c +++ b/sysdeps/unix/sysv/linux/wordsize-64/xstat64.c diff --git a/sysdeps/unix/sysv/linux/x86_64/Implies b/sysdeps/unix/sysv/linux/x86_64/Implies new file mode 100644 index 0000000000..8d91c80097 --- /dev/null +++ b/sysdeps/unix/sysv/linux/x86_64/Implies @@ -0,0 +1 @@ +unix/sysv/linux/wordsize-64 diff --git a/sysdeps/unix/sysv/linux/x86_64/fstatfs64.c b/sysdeps/unix/sysv/linux/x86_64/fstatfs64.c deleted file mode 100644 index 2be4e59ba4..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/fstatfs64.c +++ /dev/null @@ -1 +0,0 @@ -/* fstatfs64 is the same as fstatfs. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/ftruncate64.c b/sysdeps/unix/sysv/linux/x86_64/ftruncate64.c deleted file mode 100644 index 673a8b525a..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/ftruncate64.c +++ /dev/null @@ -1 +0,0 @@ -/* ftruncate64 is the same as ftruncate. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/fxstat.c b/sysdeps/unix/sysv/linux/x86_64/fxstat.c deleted file mode 100644 index c25fd7b25e..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/fxstat.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/ia64/fxstat.c> diff --git a/sysdeps/unix/sysv/linux/x86_64/fxstat64.c b/sysdeps/unix/sysv/linux/x86_64/fxstat64.c deleted file mode 100644 index 9eff9ebeb7..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/fxstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* fxstat64 is in fxstat.c */ diff --git a/sysdeps/unix/sysv/linux/x86_64/getdents.c b/sysdeps/unix/sysv/linux/x86_64/getdents.c deleted file mode 100644 index b4c44cdf10..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/getdents.c +++ /dev/null @@ -1,2 +0,0 @@ -#include <sysdeps/unix/sysv/linux/ia64/getdents.c> - diff --git a/sysdeps/unix/sysv/linux/x86_64/getdents64.c b/sysdeps/unix/sysv/linux/x86_64/getdents64.c deleted file mode 100644 index 0df2c8f4c6..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/getdents64.c +++ /dev/null @@ -1 +0,0 @@ -/* getdents64 is in getdents.c */ diff --git a/sysdeps/unix/sysv/linux/x86_64/getrlimit64.c b/sysdeps/unix/sysv/linux/x86_64/getrlimit64.c deleted file mode 100644 index 9feab0e6b8..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/getrlimit64.c +++ /dev/null @@ -1 +0,0 @@ -/* getrlimit64 is the same as getrlimit. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/glob64.c b/sysdeps/unix/sysv/linux/x86_64/glob64.c deleted file mode 100644 index 33918ea6a5..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/glob64.c +++ /dev/null @@ -1 +0,0 @@ -/* glob64 is in glob.c */ diff --git a/sysdeps/unix/sysv/linux/x86_64/lxstat.c b/sysdeps/unix/sysv/linux/x86_64/lxstat.c deleted file mode 100644 index 648c60a1c0..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/lxstat.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/ia64/lxstat.c> diff --git a/sysdeps/unix/sysv/linux/x86_64/lxstat64.c b/sysdeps/unix/sysv/linux/x86_64/lxstat64.c deleted file mode 100644 index bb5dbd0fff..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/lxstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* lxstat64 is in lxstat.c */ diff --git a/sysdeps/unix/sysv/linux/x86_64/mmap64.c b/sysdeps/unix/sysv/linux/x86_64/mmap64.c deleted file mode 100644 index 0dbd384a6a..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/mmap64.c +++ /dev/null @@ -1 +0,0 @@ -/* mmap64 is the same as mmap. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/posix_fadvise64.c b/sysdeps/unix/sysv/linux/x86_64/posix_fadvise64.c deleted file mode 100644 index c9f72c4ce1..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/posix_fadvise64.c +++ /dev/null @@ -1 +0,0 @@ -/* posix_fadvise64 is in posix_fadvise.c */ diff --git a/sysdeps/unix/sysv/linux/x86_64/pread64.c b/sysdeps/unix/sysv/linux/x86_64/pread64.c deleted file mode 100644 index b7f298dea8..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/pread64.c +++ /dev/null @@ -1 +0,0 @@ -/* Empty since the pread syscall is equivalent. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/pwrite64.c b/sysdeps/unix/sysv/linux/x86_64/pwrite64.c deleted file mode 100644 index b7f298dea8..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/pwrite64.c +++ /dev/null @@ -1 +0,0 @@ -/* Empty since the pread syscall is equivalent. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/readdir.c b/sysdeps/unix/sysv/linux/x86_64/readdir.c deleted file mode 100644 index c0bc09b7f6..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/readdir.c +++ /dev/null @@ -1,2 +0,0 @@ -#include <sysdeps/unix/sysv/linux/ia64/readdir.c> - diff --git a/sysdeps/unix/sysv/linux/x86_64/readdir64.c b/sysdeps/unix/sysv/linux/x86_64/readdir64.c deleted file mode 100644 index 9796431dc4..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/readdir64.c +++ /dev/null @@ -1 +0,0 @@ -/* readdir64 is in readdir.c */ diff --git a/sysdeps/unix/sysv/linux/x86_64/readdir64_r.c b/sysdeps/unix/sysv/linux/x86_64/readdir64_r.c deleted file mode 100644 index b8fe9a31b4..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/readdir64_r.c +++ /dev/null @@ -1 +0,0 @@ -/* readdir64_r is in readdir_r.c */ diff --git a/sysdeps/unix/sysv/linux/x86_64/readdir_r.c b/sysdeps/unix/sysv/linux/x86_64/readdir_r.c deleted file mode 100644 index 3b953e5528..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/readdir_r.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/ia64/readdir_r.c> diff --git a/sysdeps/unix/sysv/linux/x86_64/sendfile64.c b/sysdeps/unix/sysv/linux/x86_64/sendfile64.c deleted file mode 100644 index 4c451bd093..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/sendfile64.c +++ /dev/null @@ -1 +0,0 @@ -/* sendfile64 is alias of sendfile syscall. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/setrlimit64.c b/sysdeps/unix/sysv/linux/x86_64/setrlimit64.c deleted file mode 100644 index 8edcff0086..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/setrlimit64.c +++ /dev/null @@ -1 +0,0 @@ -/* setrlimit64 is the same as setrlimit. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/statfs64.c b/sysdeps/unix/sysv/linux/x86_64/statfs64.c deleted file mode 100644 index 06bc68826f..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/statfs64.c +++ /dev/null @@ -1 +0,0 @@ -/* statfs64 is the same as statfs. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/syscalls.list b/sysdeps/unix/sysv/linux/x86_64/syscalls.list index 7d050c7815..a9d40446db 100644 --- a/sysdeps/unix/sysv/linux/x86_64/syscalls.list +++ b/sysdeps/unix/sysv/linux/x86_64/syscalls.list @@ -1,19 +1,7 @@ # File name Caller Syscall name # args Strong name Weak names arch_prctl EXTRA arch_prctl i:ii __arch_prctl arch_prctl -mmap - mmap b:aniiii __mmap mmap __mmap64 mmap64 modify_ldt EXTRA modify_ldt i:ipi __modify_ldt modify_ldt -llseek EXTRA lseek Ci:iii __libc_lseek64 __llseek llseek __lseek64 lseek64 -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 -getrlimit - getrlimit i:ip __getrlimit getrlimit getrlimit64 -setrlimit - setrlimit i:ip __setrlimit setrlimit64 setrlimit -ftruncate - ftruncate i:ii __ftruncate ftruncate ftruncate64 __ftruncate64 -truncate - truncate i:si truncate truncate64 -readahead - readahead i:iii __readahead readahead -sendfile - sendfile i:iipi sendfile sendfile64 # semaphore and shm system calls msgctl - msgctl i:iip __msgctl msgctl diff --git a/sysdeps/unix/sysv/linux/x86_64/truncate64.c b/sysdeps/unix/sysv/linux/x86_64/truncate64.c deleted file mode 100644 index 8999768874..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/truncate64.c +++ /dev/null @@ -1 +0,0 @@ -/* truncate64 is the same as truncate. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/xstat.c b/sysdeps/unix/sysv/linux/x86_64/xstat.c deleted file mode 100644 index c315d841c2..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/xstat.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/ia64/xstat.c> diff --git a/sysdeps/unix/sysv/linux/x86_64/xstat64.c b/sysdeps/unix/sysv/linux/x86_64/xstat64.c deleted file mode 100644 index e7acd3b45e..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/xstat64.c +++ /dev/null @@ -1 +0,0 @@ -/* xstat64 is in xstat.c */ |