about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog151
-rw-r--r--linuxthreads/ChangeLog15
-rw-r--r--linuxthreads/attr.c71
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/alpha/Versions6
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h86
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/ia64/Versions6
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h86
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/sparc/Versions6
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h86
-rw-r--r--linuxthreads/tststack.c6
-rw-r--r--nptl/ChangeLog20
-rw-r--r--nptl/Makefile2
-rw-r--r--nptl/pthread_attr_setstack.c40
-rw-r--r--nptl/pthread_attr_setstacksize.c35
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/Versions6
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h83
-rw-r--r--nptl/sysdeps/unix/sysv/linux/ia64/Versions6
-rw-r--r--nptl/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h83
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sparc/Versions6
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h83
-rw-r--r--nptl/tst-stack1.c6
-rw-r--r--nptl/tst-stack2.c156
-rw-r--r--sysdeps/unix/sysv/linux/_exit.c5
-rw-r--r--sysdeps/unix/sysv/linux/aio_sigqueue.c4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/Makefile3
-rw-r--r--sysdeps/unix/sysv/linux/alpha/gethostname.c5
-rw-r--r--sysdeps/unix/sysv/linux/alpha/ipc_priv.h10
-rw-r--r--sysdeps/unix/sysv/linux/alpha/msgctl.c4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/semctl.c4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/shmctl.c4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sigaction.c3
-rw-r--r--sysdeps/unix/sysv/linux/arm/Makefile4
-rw-r--r--sysdeps/unix/sysv/linux/arm/sigaction.c5
-rw-r--r--sysdeps/unix/sysv/linux/arm/syscalls.list11
-rw-r--r--sysdeps/unix/sysv/linux/cris/Makefile4
-rw-r--r--sysdeps/unix/sysv/linux/execve.c7
-rw-r--r--sysdeps/unix/sysv/linux/ftruncate64.c5
-rw-r--r--sysdeps/unix/sysv/linux/fxstat64.c3
-rw-r--r--sysdeps/unix/sysv/linux/gai_sigqueue.c4
-rw-r--r--sysdeps/unix/sysv/linux/getcwd.c4
-rw-r--r--sysdeps/unix/sysv/linux/getdents.c5
-rw-r--r--sysdeps/unix/sysv/linux/getpriority.c6
-rw-r--r--sysdeps/unix/sysv/linux/i386/chown.c7
-rw-r--r--sysdeps/unix/sysv/linux/i386/fchown.c7
-rw-r--r--sysdeps/unix/sysv/linux/i386/fcntl.c7
-rw-r--r--sysdeps/unix/sysv/linux/i386/fxstat.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/getegid.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/geteuid.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/getgid.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/getgroups.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/getmsg.c5
-rw-r--r--sysdeps/unix/sysv/linux/i386/getresgid.c10
-rw-r--r--sysdeps/unix/sysv/linux/i386/getresuid.c9
-rw-r--r--sysdeps/unix/sysv/linux/i386/getrlimit.c7
-rw-r--r--sysdeps/unix/sysv/linux/i386/getuid.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/lchown.c7
-rw-r--r--sysdeps/unix/sysv/linux/i386/lockf64.c5
-rw-r--r--sysdeps/unix/sysv/linux/i386/lxstat.c8
-rw-r--r--sysdeps/unix/sysv/linux/i386/putmsg.c6
-rw-r--r--sysdeps/unix/sysv/linux/i386/setfsgid.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/setfsuid.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/setgid.c5
-rw-r--r--sysdeps/unix/sysv/linux/i386/setgroups.c5
-rw-r--r--sysdeps/unix/sysv/linux/i386/setregid.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/setresgid.c7
-rw-r--r--sysdeps/unix/sysv/linux/i386/setresuid.c7
-rw-r--r--sysdeps/unix/sysv/linux/i386/setreuid.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/setrlimit.c6
-rw-r--r--sysdeps/unix/sysv/linux/i386/setuid.c5
-rw-r--r--sysdeps/unix/sysv/linux/i386/sigaction.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/xstat.c5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/fxstat.c5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/lxstat.c5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/sigaction.c3
-rw-r--r--sysdeps/unix/sysv/linux/ia64/sigpending.c5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/sigprocmask.c5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/sigsuspend.c6
-rw-r--r--sysdeps/unix/sysv/linux/ia64/xstat.c5
-rw-r--r--sysdeps/unix/sysv/linux/ipc_priv.h10
-rw-r--r--sysdeps/unix/sysv/linux/llseek.c3
-rw-r--r--sysdeps/unix/sysv/linux/lxstat64.c5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/chown.c8
-rw-r--r--sysdeps/unix/sysv/linux/mips/Makefile2
-rw-r--r--sysdeps/unix/sysv/linux/mips/ftruncate64.c8
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/syscalls.list4
-rw-r--r--sysdeps/unix/sysv/linux/mips/pread.c10
-rw-r--r--sysdeps/unix/sysv/linux/mips/pread64.c13
-rw-r--r--sysdeps/unix/sysv/linux/mips/ptrace.c3
-rw-r--r--sysdeps/unix/sysv/linux/mips/pwrite.c9
-rw-r--r--sysdeps/unix/sysv/linux/mips/pwrite64.c9
-rw-r--r--sysdeps/unix/sysv/linux/mips/sigaction.c4
-rw-r--r--sysdeps/unix/sysv/linux/mips/syscalls.list10
-rw-r--r--sysdeps/unix/sysv/linux/mips/truncate64.c8
-rw-r--r--sysdeps/unix/sysv/linux/mips/ustat.c4
-rw-r--r--sysdeps/unix/sysv/linux/mips/xmknod.c5
-rw-r--r--sysdeps/unix/sysv/linux/mmap64.c3
-rw-r--r--sysdeps/unix/sysv/linux/poll.c3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/Makefile5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/chown.c3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/ioctl.c4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list43
-rw-r--r--sysdeps/unix/sysv/linux/pread.c6
-rw-r--r--sysdeps/unix/sysv/linux/pread64.c5
-rw-r--r--sysdeps/unix/sysv/linux/ptrace.c5
-rw-r--r--sysdeps/unix/sysv/linux/pwrite.c7
-rw-r--r--sysdeps/unix/sysv/linux/pwrite64.c5
-rw-r--r--sysdeps/unix/sysv/linux/readahead.c6
-rw-r--r--sysdeps/unix/sysv/linux/readv.c3
-rw-r--r--sysdeps/unix/sysv/linux/reboot.c4
-rw-r--r--sysdeps/unix/sysv/linux/rt_sigaction.c28
-rw-r--r--sysdeps/unix/sysv/linux/rt_sigpending.c27
-rw-r--r--sysdeps/unix/sysv/linux/rt_sigprocmask.c28
-rw-r--r--sysdeps/unix/sysv/linux/rt_sigqueueinfo.c28
-rw-r--r--sysdeps/unix/sysv/linux/rt_sigreturn.c27
-rw-r--r--sysdeps/unix/sysv/linux/rt_sigsuspend.c35
-rw-r--r--sysdeps/unix/sysv/linux/rt_sigtimedwait.c36
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/chown.c7
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/lchown.c8
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c4
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c4
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list7
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/xstat.c4
-rw-r--r--sysdeps/unix/sysv/linux/s_pread64.c30
-rw-r--r--sysdeps/unix/sysv/linux/s_pwrite64.c30
-rw-r--r--sysdeps/unix/sysv/linux/sh/Makefile5
-rw-r--r--sysdeps/unix/sysv/linux/sigaction.c5
-rw-r--r--sysdeps/unix/sysv/linux/sigpending.c5
-rw-r--r--sysdeps/unix/sysv/linux/sigprocmask.c5
-rw-r--r--sysdeps/unix/sysv/linux/sigqueue.c4
-rw-r--r--sysdeps/unix/sysv/linux/sigsuspend.c6
-rw-r--r--sysdeps/unix/sysv/linux/sigtimedwait.c3
-rw-r--r--sysdeps/unix/sysv/linux/sigwait.c3
-rw-r--r--sysdeps/unix/sysv/linux/sigwaitinfo.c3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c5
-rw-r--r--sysdeps/unix/sysv/linux/sysctl.c4
-rw-r--r--sysdeps/unix/sysv/linux/truncate64.c6
-rw-r--r--sysdeps/unix/sysv/linux/ustat.c4
-rw-r--r--sysdeps/unix/sysv/linux/writev.c3
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sigaction.c3
-rw-r--r--sysdeps/unix/sysv/linux/xmknod.c6
-rw-r--r--sysdeps/unix/sysv/linux/xstat64.c5
147 files changed, 1126 insertions, 826 deletions
diff --git a/ChangeLog b/ChangeLog
index 3d59dd9a8c..ca99dc1e98 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,156 @@
+2003-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove
+	rt_sigsuspend, rt_sigprocmask, rt_sigtimedwait, rt_sigqueueinfo and
+	rt_sigpending.
+	* sysdeps/unix/sysv/linux/alpha/sigaction.c (__syscall_rt_sigaction):
+	New prototype.
+	* sysdeps/unix/sysv/linux/arm/syscalls.list (__syscall_*): Remove
+	unused __syscall_ stubs.
+	* sysdeps/unix/sysv/linux/arm/Makefile (sysdep_routines): Remove
+	rt_*.
+	* sysdeps/unix/sysv/linux/cris/Makefile: Removed.
+	* sysdeps/unix/sysv/linux/mips/mips64/syscalls.list
+	(__syscall_recvfrom, __syscall_sendto): Remove unused aliases.
+	* sysdeps/unix/sysv/linux/mips/syscalls.list (__syscall_*): Remove
+	unused __syscall_ stubs.
+	* sysdeps/unix/sysv/linux/mips/Makefile (sysdep_routines): Remove rt_*.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list
+	(__syscall_*): Remove unused __syscall_ stubs.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list
+	(__syscall_*): Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/Makefile (sysdep_routines): Remove
+	rt_*.
+	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__syscall_*):
+	Remove unused __syscall_ stubs.
+	* sysdeps/unix/sysv/linux/sh/Makefile (sysdep_routines): Remove rt_*.
+	* sysdeps/unix/sysv/linux/rt_sigaction.c: Removed.
+	* sysdeps/unix/sysv/linux/rt_sigpending.c: Removed.
+	* sysdeps/unix/sysv/linux/rt_sigprocmask.c: Removed.
+	* sysdeps/unix/sysv/linux/rt_sigqueueinfo.c: Removed.
+	* sysdeps/unix/sysv/linux/rt_sigreturn.c: Removed.
+	* sysdeps/unix/sysv/linux/rt_sigsuspend.c: Removed.
+	* sysdeps/unix/sysv/linux/rt_sigtimedwait.c: Removed.
+	* sysdeps/unix/sysv/linux/s_pread64.c: Removed.
+	* sysdeps/unix/sysv/linux/s_pwrite64.c: Removed.
+	* sysdeps/unix/sysv/linux/alpha/gethostname.c: Remove unused
+	__syscall_* prototypes.
+	* sysdeps/unix/sysv/linux/alpha/ipc_priv.h: Likewise.
+	* sysdeps/unix/sysv/linux/alpha/msgctl.c: Likewise.
+	* sysdeps/unix/sysv/linux/alpha/semctl.c: Likewise.
+	* sysdeps/unix/sysv/linux/alpha/shmctl.c: Likewise.
+	* sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/fchown.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/getegid.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/geteuid.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/getgid.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/getmsg.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/xstat.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/getresgid.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/getresuid.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/getrlimit.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/getuid.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/lchown.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/lockf64.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/putmsg.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/setfsuid.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/setregid.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/setrlimit.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/fxstat.c: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/lxstat.c: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/sigpending.c: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/sigsuspend.c: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/xstat.c: Likewise.
+	* sysdeps/unix/sysv/linux/m68k/chown.c: Likewise.
+	* sysdeps/unix/sysv/linux/mips/ftruncate64.c: Likewise.
+	* sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
+	* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
+	* sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise.
+	* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
+	* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
+	* sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise.
+	* sysdeps/unix/sysv/linux/mips/truncate64.c: Likewise.
+	* sysdeps/unix/sysv/linux/mips/ustat.c: Likewise.
+	* sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/ioctl.c: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-32/chown.c: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-32/lchown.c: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/xstat.c: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise.
+	* sysdeps/unix/sysv/linux/pwrite.c: Likewise.
+	* sysdeps/unix/sysv/linux/execve.c: Likewise.
+	* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.
+	* sysdeps/unix/sysv/linux/reboot.c: Likewise.
+	* sysdeps/unix/sysv/linux/_exit.c: Likewise.
+	* sysdeps/unix/sysv/linux/ftruncate64.c: Likewise.
+	* sysdeps/unix/sysv/linux/pwrite64.c: Likewise.
+	* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
+	* sysdeps/unix/sysv/linux/gai_sigqueue.c: Likewise.
+	* sysdeps/unix/sysv/linux/readahead.c: Likewise.
+	* sysdeps/unix/sysv/linux/getcwd.c: Likewise.
+	* sysdeps/unix/sysv/linux/sigwait.c: Likewise.
+	* sysdeps/unix/sysv/linux/getdents.c: Likewise.
+	* sysdeps/unix/sysv/linux/readv.c: Likewise.
+	* sysdeps/unix/sysv/linux/getpriority.c: Likewise.
+	* sysdeps/unix/sysv/linux/sigaction.c: Likewise.
+	* sysdeps/unix/sysv/linux/ipc_priv.h: Likewise.
+	* sysdeps/unix/sysv/linux/llseek.c: Likewise.
+	* sysdeps/unix/sysv/linux/sysctl.c: Likewise.
+	* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.
+	* sysdeps/unix/sysv/linux/mmap64.c: Likewise.
+	* sysdeps/unix/sysv/linux/ustat.c: Likewise.
+	* sysdeps/unix/sysv/linux/poll.c: Likewise.
+	* sysdeps/unix/sysv/linux/pread64.c: Likewise.
+	* sysdeps/unix/sysv/linux/writev.c: Likewise.
+	* sysdeps/unix/sysv/linux/pread.c: Likewise.
+	* sysdeps/unix/sysv/linux/ptrace.c: Likewise.
+	* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
+	* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
+	* sysdeps/unix/sysv/linux/sigqueue.c: Likewise.
+	* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
+	* sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
+	* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
+	* sysdeps/unix/sysv/linux/truncate64.c: Likewise.
+	* sysdeps/unix/sysv/linux/xmknod.c: Likewise.
+	* sysdeps/unix/sysv/linux/xstat64.c: Likewise.
+
+2003-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Revert last change.
+	* sysdeps/unix/sysv/linux/powerpc/syscalls.list: New file.
+	* sysdeps/unix/sysv/linux/sparc/syscalls.list: New file.
+
 2003-09-02  Ulrich Drepper  <drepper@redhat.com>
 
+	* stdio-common/Makefile (CFLAGS-vprintf.c): Add -fexceptions.
+
+	* intl/loadmsgcat.c: For _LIBC, call not cancelable versions of
+	open, close, and read.
+
 	* sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Also define
 	*_nocancel name.
 
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 6c04e3df71..6a1143a708 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,5 +1,20 @@
 2003-09-02  Jakub Jelinek  <jakub@redhat.com>
 
+	* sysdeps/unix/sysv/linux/alpha/bits/local_lim.h: New file.
+	* sysdeps/unix/sysv/linux/alpha/Versions: New file.
+	* sysdeps/unix/sysv/linux/ia64/bits/local_lim.h: New file.
+	* sysdeps/unix/sysv/linux/ia64/Versions: New file.
+	* sysdeps/unix/sysv/linux/sparc/bits/local_lim.h: New file.
+	* sysdeps/unix/sysv/linux/sparc/Versions: New file.
+	* attr.c (__old_pthread_attr_setstacksize,
+	__old_pthread_attr_setstack): New functions.
+	(pthread_attr_setstacksize): If PTHREAD_STACK_MIN != 16384, export
+	as @@GLIBC_2.3.2 and also export compatibility @GLIBC_2.1.
+	(pthread_attr_setstack): If PTHREAD_STACK_MIN != 16384, export
+	as @@GLIBC_2.3.2 and also export compatibility @GLIBC_2.2.
+	* tststack.c: Include limits.h and sys/param.h.
+	(main): Set size to MAX (70 * 1024, PTHREAD_STACK_MIN).
+
 	* barrier.c (__pthread_barrierattr_getpshared): Always
 	return PTHREAD_PROCESS_PRIVATE.
 	(pthread_barrierattr_setpshared): Return EINVAL if pshared
diff --git a/linuxthreads/attr.c b/linuxthreads/attr.c
index 58a7b69f94..177df90b98 100644
--- a/linuxthreads/attr.c
+++ b/linuxthreads/attr.c
@@ -220,7 +220,44 @@ int __pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize)
   attr->__stacksize = stacksize;
   return 0;
 }
+
+#if PTHREAD_STACK_MIN == 16384
 weak_alias (__pthread_attr_setstacksize, pthread_attr_setstacksize)
+#else
+versioned_symbol (libpthread, __pthread_attr_setstacksize,
+                  pthread_attr_setstacksize, GLIBC_2_3_3);
+
+# if SHLIB_COMPAT(libpthread, GLIBC_2_1, GLIBC_2_3_3)
+
+int __old_pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize)
+{
+#  ifdef FLOATING_STACKS
+  /* We have to check against the maximum allowed stack size.  This is no
+     problem if the manager is already started and we determined it.  If
+     this hasn't happened, we have to find the limit outself.  */
+  if (__pthread_max_stacksize == 0)
+    __pthread_init_max_stacksize ();
+
+  if (stacksize > __pthread_max_stacksize)
+    return EINVAL;
+#  else
+  /* We have a fixed size limit.  */
+  if (stacksize > STACK_SIZE)
+    return EINVAL;
+#  endif
+
+  /* We don't accept value smaller than old PTHREAD_STACK_MIN.  */
+  if (stacksize < 16384)
+    return EINVAL;
+
+  attr->__stacksize = stacksize;
+  return 0;
+}
+compat_symbol (libpthread, __old_pthread_attr_setstacksize,
+	       pthread_attr_setstacksize, GLIBC_2_1);
+# endif
+#endif
+
 
 int __pthread_attr_getstacksize(const pthread_attr_t *attr, size_t *stacksize)
 {
@@ -251,7 +288,41 @@ int __pthread_attr_setstack (pthread_attr_t *attr, void *stackaddr,
 
   return err;
 }
+
+#if PTHREAD_STACK_MIN == 16384
 weak_alias (__pthread_attr_setstack, pthread_attr_setstack)
+#else
+versioned_symbol (libpthread, __pthread_attr_setstack, pthread_attr_setstack,
+                  GLIBC_2_3_3);
+# if SHLIB_COMPAT(libpthread, GLIBC_2_2, GLIBC_2_3_3)
+int __old_pthread_attr_setstack (pthread_attr_t *attr, void *stackaddr,
+				 size_t stacksize)
+{
+  int err;
+
+  if ((((uintptr_t) stackaddr)
+       & (__alignof__ (struct _pthread_descr_struct) - 1)) != 0)
+    err = EINVAL;
+  else
+    err = __old_pthread_attr_setstacksize (attr, stacksize);
+  if (err == 0)
+    {
+#  ifndef _STACK_GROWS_UP
+      attr->__stackaddr = (char *) stackaddr + stacksize;
+#  else
+      attr->__stackaddr = stackaddr;
+#  endif
+      attr->__stackaddr_set = 1;
+    }
+
+  return err;
+}
+
+compat_symbol (libpthread, __old_pthread_attr_setstack, pthread_attr_setstack,
+               GLIBC_2_2);
+
+# endif
+#endif
 
 int __pthread_attr_getstack (const pthread_attr_t *attr, void **stackaddr,
 			     size_t *stacksize)
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/alpha/Versions b/linuxthreads/sysdeps/unix/sysv/linux/alpha/Versions
new file mode 100644
index 0000000000..d102772482
--- /dev/null
+++ b/linuxthreads/sysdeps/unix/sysv/linux/alpha/Versions
@@ -0,0 +1,6 @@
+libpthread {
+  GLIBC_2.3.3 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h b/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
new file mode 100644
index 0000000000..81b573a64f
--- /dev/null
+++ b/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
@@ -0,0 +1,86 @@
+/* Minimum guaranteed maximum values for system limits.  Linux/Alpha version.
+   Copyright (C) 1993-1998, 2000, 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; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+   and defines LINK_MAX although filesystems have different maxima.  A
+   similar thing is true for OPEN_MAX: the limit can be changed at
+   runtime and therefore the macro must not be defined.  Remove this
+   after including the header if necessary.  */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information.  */
+#include <linux/limits.h>
+
+/* Have to remove NR_OPEN?  */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX?  */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX?  */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+
+/* The number of data keys per process.  */
+#define _POSIX_THREAD_KEYS_MAX	128
+/* This is the value this implementation supports.  */
+#define PTHREAD_KEYS_MAX	1024
+
+/* Controlling the iterations of destructors for thread-specific data.  */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
+/* Number of iterations this implementation does.  */
+#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process.  */
+#define _POSIX_THREAD_THREADS_MAX	64
+/* This is the value this implementation supports.  */
+#define PTHREAD_THREADS_MAX	16384
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+   priority level.  */
+#define AIO_PRIO_DELTA_MAX	20
+
+/* Minimum size for a thread.  We are free to choose a reasonable value.  */
+#define PTHREAD_STACK_MIN	24576
+
+/* Maximum number of POSIX timers available.  */
+#define TIMER_MAX	256
+
+/* Maximum number of timer expiration overruns.  */
+#define DELAYTIMER_MAX	2147483647
+
+/* Maximum tty name length.  */
+#define TTY_NAME_MAX		32
+
+/* Maximum login name length.  This is arbitrary.  */
+#define LOGIN_NAME_MAX		256
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/ia64/Versions b/linuxthreads/sysdeps/unix/sysv/linux/ia64/Versions
new file mode 100644
index 0000000000..d102772482
--- /dev/null
+++ b/linuxthreads/sysdeps/unix/sysv/linux/ia64/Versions
@@ -0,0 +1,6 @@
+libpthread {
+  GLIBC_2.3.3 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h b/linuxthreads/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h
new file mode 100644
index 0000000000..12faad5f41
--- /dev/null
+++ b/linuxthreads/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h
@@ -0,0 +1,86 @@
+/* Minimum guaranteed maximum values for system limits.  Linux/Alpha version.
+   Copyright (C) 1993-1998, 2000, 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; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+   and defines LINK_MAX although filesystems have different maxima.  A
+   similar thing is true for OPEN_MAX: the limit can be changed at
+   runtime and therefore the macro must not be defined.  Remove this
+   after including the header if necessary.  */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information.  */
+#include <linux/limits.h>
+
+/* Have to remove NR_OPEN?  */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX?  */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX?  */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+
+/* The number of data keys per process.  */
+#define _POSIX_THREAD_KEYS_MAX	128
+/* This is the value this implementation supports.  */
+#define PTHREAD_KEYS_MAX	1024
+
+/* Controlling the iterations of destructors for thread-specific data.  */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
+/* Number of iterations this implementation does.  */
+#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process.  */
+#define _POSIX_THREAD_THREADS_MAX	64
+/* This is the value this implementation supports.  */
+#define PTHREAD_THREADS_MAX	16384
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+   priority level.  */
+#define AIO_PRIO_DELTA_MAX	20
+
+/* Minimum size for a thread.  We are free to choose a reasonable value.  */
+#define PTHREAD_STACK_MIN	196608
+
+/* Maximum number of POSIX timers available.  */
+#define TIMER_MAX	256
+
+/* Maximum number of timer expiration overruns.  */
+#define DELAYTIMER_MAX	2147483647
+
+/* Maximum tty name length.  */
+#define TTY_NAME_MAX		32
+
+/* Maximum login name length.  This is arbitrary.  */
+#define LOGIN_NAME_MAX		256
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/sparc/Versions b/linuxthreads/sysdeps/unix/sysv/linux/sparc/Versions
new file mode 100644
index 0000000000..d102772482
--- /dev/null
+++ b/linuxthreads/sysdeps/unix/sysv/linux/sparc/Versions
@@ -0,0 +1,6 @@
+libpthread {
+  GLIBC_2.3.3 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h b/linuxthreads/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h
new file mode 100644
index 0000000000..00312b1408
--- /dev/null
+++ b/linuxthreads/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h
@@ -0,0 +1,86 @@
+/* Minimum guaranteed maximum values for system limits.  Linux/SPARC version.
+   Copyright (C) 1993-1998, 2000, 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; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+   and defines LINK_MAX although filesystems have different maxima.  A
+   similar thing is true for OPEN_MAX: the limit can be changed at
+   runtime and therefore the macro must not be defined.  Remove this
+   after including the header if necessary.  */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information.  */
+#include <linux/limits.h>
+
+/* Have to remove NR_OPEN?  */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX?  */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX?  */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+
+/* The number of data keys per process.  */
+#define _POSIX_THREAD_KEYS_MAX	128
+/* This is the value this implementation supports.  */
+#define PTHREAD_KEYS_MAX	1024
+
+/* Controlling the iterations of destructors for thread-specific data.  */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
+/* Number of iterations this implementation does.  */
+#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process.  */
+#define _POSIX_THREAD_THREADS_MAX	64
+/* This is the value this implementation supports.  */
+#define PTHREAD_THREADS_MAX	16384
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+   priority level.  */
+#define AIO_PRIO_DELTA_MAX	20
+
+/* Minimum size for a thread.  We are free to choose a reasonable value.  */
+#define PTHREAD_STACK_MIN	24576
+
+/* Maximum number of POSIX timers available.  */
+#define TIMER_MAX	256
+
+/* Maximum number of timer expiration overruns.  */
+#define DELAYTIMER_MAX	2147483647
+
+/* Maximum tty name length.  */
+#define TTY_NAME_MAX		32
+
+/* Maximum login name length.  This is arbitrary.  */
+#define LOGIN_NAME_MAX		256
diff --git a/linuxthreads/tststack.c b/linuxthreads/tststack.c
index 3456c7b05a..02b15cb8bc 100644
--- a/linuxthreads/tststack.c
+++ b/linuxthreads/tststack.c
@@ -1,5 +1,5 @@
 /* Tests for variable stack size handling.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2003 Free Software Foundation, Inc.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2000.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,6 +20,8 @@
 #include <pthread.h>
 #include <stdio.h>
 #include <unistd.h>
+#include <limits.h>
+#include <sys/param.h>
 
 static void *f1 (void *);
 static void *f2 (void *);
@@ -34,7 +36,7 @@ main (void)
   void *res2;
 
   pthread_attr_init (&attr);
-  if (pthread_attr_setstacksize (&attr, 70*1024) != 0)
+  if (pthread_attr_setstacksize (&attr, MAX (70*1024, PTHREAD_STACK_MIN)) != 0)
     {
       puts ("invalid stack size");
       return 1;
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 95c458bee6..0ecb632963 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,24 @@
 2003-09-02  Jakub Jelinek  <jakub@redhat.com>
 
+	* sysdeps/unix/sysv/linux/ia64/bits/local_lim.h: New file.
+	* sysdeps/unix/sysv/linux/ia64/Versions (libpthread): Export
+	pthread_attr_setstack and pthread_attr_setstacksize @@GLIBC_2.3.3.
+	* sysdeps/unix/sysv/linux/alpha/bits/local_lim.h: New file.
+	* sysdeps/unix/sysv/linux/alpha/Versions: New file.
+	* sysdeps/unix/sysv/linux/sparc/bits/local_lim.h: New file.
+	* sysdeps/unix/sysv/linux/sparc/Versions: New file.
+	* pthread_attr_setstack.c (__old_pthread_attr_setstack): New function.
+	(pthread_attr_setstack): If PTHREAD_STACK_MIN != 16384, export
+	as @@GLIBC_2.3.2 and also export compatibility @GLIBC_2.2.
+	* pthread_attr_setstacksize.c (__old_pthread_attr_setstacksize): New
+	function.
+	(pthread_attr_setstacksize): If PTHREAD_STACK_MIN != 16384, export
+	as @@GLIBC_2.3.2 and also export compatibility @GLIBC_2.1.
+	* Makefile (tests): Add tst-stack2.
+	* tst-stack2.c: New test.
+	* tst-stack1.c: Include limits.h and sys/param.h.
+	(do_test): Set size to MAX (4 * getpagesize (), PTHREAD_STACK_MIN).
+
 	* pthread_condattr_setpshared.c: Include errno.h.
 	(pthread_condattr_setpshared): Return EINVAL if pshared
 	is neither PTHREAD_PROCESS_PRIVATE nor PTHREAD_PROCESS_SHARED.
@@ -25,7 +44,6 @@
 	* sysdeps/unix/sysv/linux/powerpc/not-cancel.h: New file.
 	* sysdeps/unix/sysv/linux/sparc/not-cancel.h: New file.
 
-
 	* sysdeps/unix/sysv/linux/x86_64/not-cancel.h: Fix a typo.
 
 2003-09-02  Ulrich Drepper  <drepper@redhat.com>
diff --git a/nptl/Makefile b/nptl/Makefile
index 4d1e1de2f0..816064f73e 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -223,7 +223,7 @@ tests = tst-attr1 tst-attr2 \
 	tst-exec1 tst-exec2 tst-exec3 tst-exec4 \
 	tst-exit1 \
 	tst-stdio1 tst-stdio2 \
-	tst-stack1 \
+	tst-stack1 tst-stack2 \
 	tst-unload \
 	tst-dlsym1 \
 	tst-sysconf \
diff --git a/nptl/pthread_attr_setstack.c b/nptl/pthread_attr_setstack.c
index b5105f1fc1..3e00c48a4f 100644
--- a/nptl/pthread_attr_setstack.c
+++ b/nptl/pthread_attr_setstack.c
@@ -48,4 +48,44 @@ __pthread_attr_setstack (attr, stackaddr, stacksize)
 
   return 0;
 }
+
+#if PTHREAD_STACK_MIN == 16384
 strong_alias (__pthread_attr_setstack, pthread_attr_setstack)
+#else
+# include <shlib-compat.h>
+versioned_symbol (libpthread, __pthread_attr_setstack, pthread_attr_setstack,
+		  GLIBC_2_3_3);
+
+# if SHLIB_COMPAT(libpthread, GLIBC_2_2, GLIBC_2_3_3)
+
+int
+__old_pthread_attr_setstack (attr, stackaddr, stacksize)
+     pthread_attr_t *attr;
+     void *stackaddr;
+     size_t stacksize;
+{
+  struct pthread_attr *iattr;
+
+  assert (sizeof (*attr) >= sizeof (struct pthread_attr));
+  iattr = (struct pthread_attr *) attr;
+
+  /* Catch invalid sizes.  */
+  if (stacksize < 16384)
+    return EINVAL;
+
+# ifdef EXTRA_PARAM_CHECKS
+  EXTRA_PARAM_CHECKS;
+# endif
+
+  iattr->stacksize = stacksize;
+  iattr->stackaddr = (char *) stackaddr + stacksize;
+  iattr->flags |= ATTR_FLAG_STACKADDR;
+
+  return 0;
+}
+
+compat_symbol (libpthread, __old_pthread_attr_setstack, pthread_attr_setstack,
+	       GLIBC_2_2);
+# endif
+
+#endif
diff --git a/nptl/pthread_attr_setstacksize.c b/nptl/pthread_attr_setstacksize.c
index 508cc3f70f..5fda323e41 100644
--- a/nptl/pthread_attr_setstacksize.c
+++ b/nptl/pthread_attr_setstacksize.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -41,4 +41,37 @@ __pthread_attr_setstacksize (attr, stacksize)
 
   return 0;
 }
+
+#if PTHREAD_STACK_MIN == 16384
 strong_alias (__pthread_attr_setstacksize, pthread_attr_setstacksize)
+#else
+# include <shlib-compat.h>
+versioned_symbol (libpthread, __pthread_attr_setstacksize,
+		  pthread_attr_setstacksize, GLIBC_2_3_3);
+
+# if SHLIB_COMPAT(libpthread, GLIBC_2_1, GLIBC_2_3_3)
+
+int
+__old_pthread_attr_setstacksize (attr, stacksize)
+     pthread_attr_t *attr;
+     size_t stacksize;
+{
+  struct pthread_attr *iattr;
+
+  assert (sizeof (*attr) >= sizeof (struct pthread_attr));
+  iattr = (struct pthread_attr *) attr;
+
+  /* Catch invalid sizes.  */
+  if (stacksize < 16384)
+    return EINVAL;
+
+  iattr->stacksize = stacksize;
+
+  return 0;
+}
+
+compat_symbol (libpthread, __old_pthread_attr_setstacksize,
+	       pthread_attr_setstacksize, GLIBC_2_1);
+# endif
+
+#endif
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/Versions b/nptl/sysdeps/unix/sysv/linux/alpha/Versions
index 3b111ddb51..437c4da28b 100644
--- a/nptl/sysdeps/unix/sysv/linux/alpha/Versions
+++ b/nptl/sysdeps/unix/sysv/linux/alpha/Versions
@@ -1,3 +1,9 @@
+libpthread {
+  GLIBC_2.3.3 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
 librt {
   GLIBC_2.3.3 {
     # Changed timer_t.
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h b/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
new file mode 100644
index 0000000000..e2a363fa02
--- /dev/null
+++ b/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
@@ -0,0 +1,83 @@
+/* Minimum guaranteed maximum values for system limits.  Linux/Alpha version.
+   Copyright (C) 1993-1998, 2000, 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 Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+   and defines LINK_MAX although filesystems have different maxima.  A
+   similar thing is true for OPEN_MAX: the limit can be changed at
+   runtime and therefore the macro must not be defined.  Remove this
+   after including the header if necessary.  */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information.  */
+#include <linux/limits.h>
+
+/* Have to remove NR_OPEN?  */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX?  */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX?  */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+
+/* The number of data keys per process.  */
+#define _POSIX_THREAD_KEYS_MAX	128
+/* This is the value this implementation supports.  */
+#define PTHREAD_KEYS_MAX	1024
+
+/* Controlling the iterations of destructors for thread-specific data.  */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
+/* Number of iterations this implementation does.  */
+#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process.  */
+#define _POSIX_THREAD_THREADS_MAX	64
+/* We have no predefined limit on the number of threads.  */
+#undef PTHREAD_THREADS_MAX
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+   priority level.  */
+#define AIO_PRIO_DELTA_MAX	20
+
+/* Minimum size for a thread.  We are free to choose a reasonable value.  */
+#define PTHREAD_STACK_MIN	24576
+
+/* Maximum number of timer expiration overruns.  */
+#define DELAYTIMER_MAX	2147483647
+
+/* Maximum tty name length.  */
+#define TTY_NAME_MAX		32
+
+/* Maximum login name length.  This is arbitrary.  */
+#define LOGIN_NAME_MAX		256
diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/Versions b/nptl/sysdeps/unix/sysv/linux/ia64/Versions
index 3b111ddb51..437c4da28b 100644
--- a/nptl/sysdeps/unix/sysv/linux/ia64/Versions
+++ b/nptl/sysdeps/unix/sysv/linux/ia64/Versions
@@ -1,3 +1,9 @@
+libpthread {
+  GLIBC_2.3.3 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
 librt {
   GLIBC_2.3.3 {
     # Changed timer_t.
diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h b/nptl/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h
new file mode 100644
index 0000000000..96c689b30e
--- /dev/null
+++ b/nptl/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h
@@ -0,0 +1,83 @@
+/* Minimum guaranteed maximum values for system limits.  Linux/IA-64 version.
+   Copyright (C) 1993-1998, 2000, 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 Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+   and defines LINK_MAX although filesystems have different maxima.  A
+   similar thing is true for OPEN_MAX: the limit can be changed at
+   runtime and therefore the macro must not be defined.  Remove this
+   after including the header if necessary.  */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information.  */
+#include <linux/limits.h>
+
+/* Have to remove NR_OPEN?  */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX?  */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX?  */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+
+/* The number of data keys per process.  */
+#define _POSIX_THREAD_KEYS_MAX	128
+/* This is the value this implementation supports.  */
+#define PTHREAD_KEYS_MAX	1024
+
+/* Controlling the iterations of destructors for thread-specific data.  */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
+/* Number of iterations this implementation does.  */
+#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process.  */
+#define _POSIX_THREAD_THREADS_MAX	64
+/* We have no predefined limit on the number of threads.  */
+#undef PTHREAD_THREADS_MAX
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+   priority level.  */
+#define AIO_PRIO_DELTA_MAX	20
+
+/* Minimum size for a thread.  We are free to choose a reasonable value.  */
+#define PTHREAD_STACK_MIN	196608
+
+/* Maximum number of timer expiration overruns.  */
+#define DELAYTIMER_MAX	2147483647
+
+/* Maximum tty name length.  */
+#define TTY_NAME_MAX		32
+
+/* Maximum login name length.  This is arbitrary.  */
+#define LOGIN_NAME_MAX		256
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/Versions b/nptl/sysdeps/unix/sysv/linux/sparc/Versions
new file mode 100644
index 0000000000..d102772482
--- /dev/null
+++ b/nptl/sysdeps/unix/sysv/linux/sparc/Versions
@@ -0,0 +1,6 @@
+libpthread {
+  GLIBC_2.3.3 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h b/nptl/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h
new file mode 100644
index 0000000000..5c15a32175
--- /dev/null
+++ b/nptl/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h
@@ -0,0 +1,83 @@
+/* Minimum guaranteed maximum values for system limits.  Linux/SPARC version.
+   Copyright (C) 1993-1998, 2000, 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 Library General Public License as
+   published by the Free Software Foundation; either version 2 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+   and defines LINK_MAX although filesystems have different maxima.  A
+   similar thing is true for OPEN_MAX: the limit can be changed at
+   runtime and therefore the macro must not be defined.  Remove this
+   after including the header if necessary.  */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information.  */
+#include <linux/limits.h>
+
+/* Have to remove NR_OPEN?  */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX?  */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX?  */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+
+/* The number of data keys per process.  */
+#define _POSIX_THREAD_KEYS_MAX	128
+/* This is the value this implementation supports.  */
+#define PTHREAD_KEYS_MAX	1024
+
+/* Controlling the iterations of destructors for thread-specific data.  */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS	4
+/* Number of iterations this implementation does.  */
+#define PTHREAD_DESTRUCTOR_ITERATIONS	_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process.  */
+#define _POSIX_THREAD_THREADS_MAX	64
+/* We have no predefined limit on the number of threads.  */
+#undef PTHREAD_THREADS_MAX
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+   priority level.  */
+#define AIO_PRIO_DELTA_MAX	20
+
+/* Minimum size for a thread.  We are free to choose a reasonable value.  */
+#define PTHREAD_STACK_MIN	24576
+
+/* Maximum number of timer expiration overruns.  */
+#define DELAYTIMER_MAX	2147483647
+
+/* Maximum tty name length.  */
+#define TTY_NAME_MAX		32
+
+/* Maximum login name length.  This is arbitrary.  */
+#define LOGIN_NAME_MAX		256
diff --git a/nptl/tst-stack1.c b/nptl/tst-stack1.c
index 471e6753e5..93405981d3 100644
--- a/nptl/tst-stack1.c
+++ b/nptl/tst-stack1.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -17,9 +17,11 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <limits.h>
 #include <pthread.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <sys/param.h>
 #include <unistd.h>
 
 
@@ -74,7 +76,7 @@ do_test (void)
 {
   int result = 0;
 
-  size = 4 * getpagesize ();
+  size = MAX (4 * getpagesize (), PTHREAD_STACK_MIN);
   if (posix_memalign (&stack, getpagesize (), size) != 0)
     {
       puts ("out of memory while allocating the stack memory");
diff --git a/nptl/tst-stack2.c b/nptl/tst-stack2.c
new file mode 100644
index 0000000000..93487db8ae
--- /dev/null
+++ b/nptl/tst-stack2.c
@@ -0,0 +1,156 @@
+/* Copyright (C) 2003 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
+
+   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.  */
+
+/* Test whether it is possible to create a thread with PTHREAD_STACK_MIN
+   stack size.  */
+
+#include <pthread.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+int seen;
+
+void *tf (void *p)
+{
+  ++seen;
+  return NULL;
+}
+
+static int
+do_test (void)
+{
+  pthread_attr_t attr;
+  pthread_attr_init (&attr);
+
+  int result = 0;
+  int res = pthread_attr_setstacksize (&attr, PTHREAD_STACK_MIN);
+  if (res)
+    {
+      printf ("pthread_attr_setstacksize failed %d\n", res);
+      result = 1;
+    }
+
+  /* Create the thread.  */
+  pthread_t th;
+  res = pthread_create (&th, &attr, tf, NULL);
+  if (res)
+    {
+      printf ("pthread_create failed %d\n", res);
+      result = 1;
+    }
+  else
+    {
+      res = pthread_join (th, NULL);
+      if (res)
+	{
+	  printf ("pthread_join failed %d\n", res);
+	  result = 1;
+	}
+    }
+
+  if (seen != 1)
+    {
+      printf ("seen %d != 1\n", seen);
+      result = 1;
+    }
+
+  return result;
+}
+
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
+/* Copyright (C) 2003 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
+
+   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.  */
+
+/* Test whether it is possible to create a thread with PTHREAD_STACK_MIN
+   stack size.  */
+
+#include <pthread.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+int seen;
+
+void *tf (void *p)
+{
+  ++seen;
+  return NULL;
+}
+
+int
+do_test (void)
+{
+  pthread_attr_t attr;
+  pthread_attr_init (&attr);
+
+  int result = 0;
+  int res = pthread_attr_setstacksize (&attr, PTHREAD_STACK_MIN);
+  if (res)
+    {
+      printf ("pthread_attr_setstacksize failed %d\n", res);
+      result = 1;
+    }
+
+  /* Create the thread.  */
+  pthread_t th;
+  res = pthread_create (&th, &attr, tf, NULL);
+  if (res)
+    {
+      printf ("pthread_create failed %d\n", res);
+      result = 1;
+    }
+  else
+    {
+      res = pthread_join (th, NULL);
+      if (res)
+	{
+	  printf ("pthread_join failed %d\n", res);
+	  result = 1;
+	}
+    }
+
+  if (seen != 1)
+    {
+      printf ("seen %d != 1\n", seen);
+      result = 1;
+    }
+
+  return result;
+}
+
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/sysdeps/unix/sysv/linux/_exit.c b/sysdeps/unix/sysv/linux/_exit.c
index 7f96da60f8..1477bd80f6 100644
--- a/sysdeps/unix/sysv/linux/_exit.c
+++ b/sysdeps/unix/sysv/linux/_exit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 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
@@ -22,9 +22,6 @@
 #include <sysdep.h>
 #include <abort-instr.h>
 
-extern void __syscall_exit_group (int status);
-extern void __syscall_exit (int status);
-
 
 void
 _exit (status)
diff --git a/sysdeps/unix/sysv/linux/aio_sigqueue.c b/sysdeps/unix/sysv/linux/aio_sigqueue.c
index d57f72c886..44ff22ea7d 100644
--- a/sysdeps/unix/sysv/linux/aio_sigqueue.c
+++ b/sysdeps/unix/sysv/linux/aio_sigqueue.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 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
@@ -28,8 +28,6 @@
 #include "aio_misc.h"
 
 #ifdef __NR_rt_sigqueueinfo
-extern int __syscall_rt_sigqueueinfo (int, int, siginfo_t *__unbounded);
-
 
 /* Return any pending signal or wait for one for the given time.  */
 int
diff --git a/sysdeps/unix/sysv/linux/alpha/Makefile b/sysdeps/unix/sysv/linux/alpha/Makefile
index 6ec49760b4..3097cc3047 100644
--- a/sysdeps/unix/sysv/linux/alpha/Makefile
+++ b/sysdeps/unix/sysv/linux/alpha/Makefile
@@ -20,6 +20,5 @@ CFLAGS-ioperm.c = -Wa,-mev6
 endif
 
 ifeq ($(subdir),signal)
-sysdep_routines += rt_sigsuspend rt_sigprocmask rt_sigtimedwait	\
-		   rt_sigqueueinfo rt_sigaction rt_sigpending
+sysdep_routines += rt_sigaction
 endif
diff --git a/sysdeps/unix/sysv/linux/alpha/gethostname.c b/sysdeps/unix/sysv/linux/alpha/gethostname.c
index 3a48afccd3..4e15ee43ed 100644
--- a/sysdeps/unix/sysv/linux/alpha/gethostname.c
+++ b/sysdeps/unix/sysv/linux/alpha/gethostname.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2001
 
@@ -25,9 +25,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_gethostname (char *name, size_t len);
-
-
 int
 __gethostname (char *name, size_t len)
 {
diff --git a/sysdeps/unix/sysv/linux/alpha/ipc_priv.h b/sysdeps/unix/sysv/linux/alpha/ipc_priv.h
index f0b47d204b..0328dc08e2 100644
--- a/sysdeps/unix/sysv/linux/alpha/ipc_priv.h
+++ b/sysdeps/unix/sysv/linux/alpha/ipc_priv.h
@@ -32,15 +32,7 @@ struct __old_ipc_perm
 };
 
 
-__BEGIN_DECLS
-
-/* The actual system call: all functions are multiplexed by this.  */
-extern int __syscall_ipc (int __call, int __first, int __second,
-			  int __third, void *__ptr);
-
-__END_DECLS
-
-/* The codes for the functions to use the multiplexer `__syscall_ipc'.  */
+/* The codes for the functions to use the ipc syscall multiplexer.  */
 #define IPCOP_semop	 1
 #define IPCOP_semget	 2
 #define IPCOP_semctl	 3
diff --git a/sysdeps/unix/sysv/linux/alpha/msgctl.c b/sysdeps/unix/sysv/linux/alpha/msgctl.c
index d543fe3b9b..1b75af2b80 100644
--- a/sysdeps/unix/sysv/linux/alpha/msgctl.c
+++ b/sysdeps/unix/sysv/linux/alpha/msgctl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1997, 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1997, 1998, 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
 
@@ -45,8 +45,6 @@ struct __old_msqid_ds
   __ipc_pid_t msg_lrpid;		/* pid of last msgrcv() */
 };
 
-extern int __syscall_msgctl (int, int, void *);
-
 /* Allows to control internal state and destruction of message queue
    objects.  */
 int __new_msgctl (int, int, struct msqid_ds *);
diff --git a/sysdeps/unix/sysv/linux/alpha/semctl.c b/sysdeps/unix/sysv/linux/alpha/semctl.c
index 6f164b4942..224baf399b 100644
--- a/sysdeps/unix/sysv/linux/alpha/semctl.c
+++ b/sysdeps/unix/sysv/linux/alpha/semctl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1997, 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1997, 1998, 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
 
@@ -52,8 +52,6 @@ union semun
 #include <bp-checks.h>
 #include <bp-semctl.h>		/* definition of CHECK_SEMCTL needs union semum */
 
-extern int __syscall_semctl (int, int, int, void *);
-
 /* Return identifier for array of NSEMS semaphores associated with
    KEY.  */
 int __new_semctl (int semid, int semnum, int cmd, ...);
diff --git a/sysdeps/unix/sysv/linux/alpha/shmctl.c b/sysdeps/unix/sysv/linux/alpha/shmctl.c
index 0a6cdf170c..7dec3a737c 100644
--- a/sysdeps/unix/sysv/linux/alpha/shmctl.c
+++ b/sysdeps/unix/sysv/linux/alpha/shmctl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1997, 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1997, 1998, 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
 
@@ -53,8 +53,6 @@ struct __old_shminfo
   int shmall;
 };
 
-extern int __syscall_shmctl (int, int, void *);
-
 /* Provide operations to control over shared memory segments.  */
 int __new_shmctl (int, int, struct shmid_ds *);
 
diff --git a/sysdeps/unix/sysv/linux/alpha/sigaction.c b/sysdeps/unix/sysv/linux/alpha/sigaction.c
index 1bfba1bfda..952ee40eee 100644
--- a/sysdeps/unix/sysv/linux/alpha/sigaction.c
+++ b/sysdeps/unix/sysv/linux/alpha/sigaction.c
@@ -30,4 +30,7 @@
          ? __syscall_rt_sigaction(args)         \
          : INLINE_SYSCALL1(name, nr, args))
 
+extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *__unbounded,
+				   struct kernel_sigaction *__unbounded, size_t);
+
 #include <sysdeps/unix/sysv/linux/sigaction.c>
diff --git a/sysdeps/unix/sysv/linux/arm/Makefile b/sysdeps/unix/sysv/linux/arm/Makefile
index 24c7ee99b0..0ccdbe81f6 100644
--- a/sysdeps/unix/sysv/linux/arm/Makefile
+++ b/sysdeps/unix/sysv/linux/arm/Makefile
@@ -4,9 +4,7 @@ sysdep_headers += sys/elf.h sys/io.h
 endif
 
 ifeq ($(subdir),signal)
-sysdep_routines += rt_sigsuspend rt_sigprocmask rt_sigtimedwait	\
-		   rt_sigqueueinfo rt_sigaction rt_sigpending \
-		   sigrestorer
+sysdep_routines += sigrestorer
 endif
 
 ifeq ($(subdir),resource)
diff --git a/sysdeps/unix/sysv/linux/arm/sigaction.c b/sysdeps/unix/sysv/linux/arm/sigaction.c
index 82e22b679a..81b29adb2b 100644
--- a/sysdeps/unix/sysv/linux/arm/sigaction.c
+++ b/sysdeps/unix/sysv/linux/arm/sigaction.c
@@ -29,11 +29,6 @@
    translate it here.  */
 #include <kernel_sigaction.h>
 
-extern int __syscall_sigaction (int, const struct old_kernel_sigaction *__unbounded,
-				struct old_kernel_sigaction *__unbounded);
-extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *__unbounded,
-				   struct kernel_sigaction *__unbounded, size_t);
-
 /* The variable is shared between all wrappers around signal handling
    functions which have RT equivalents.  */
 int __libc_missing_rt_sigs;
diff --git a/sysdeps/unix/sysv/linux/arm/syscalls.list b/sysdeps/unix/sysv/linux/arm/syscalls.list
index 61ac69948f..1db0030b5b 100644
--- a/sysdeps/unix/sysv/linux/arm/syscalls.list
+++ b/sysdeps/unix/sysv/linux/arm/syscalls.list
@@ -1,16 +1,5 @@
 # File name	Caller	Syscall name	# args	Strong name	Weak names
 
-s_getgroups	getgroups getgroups	2	__syscall_getgroups
-s_llseek	llseek	_llseek		5	__syscall__llseek
-s_setfsgid	setfsgid setfsgid	1	__syscall_setfsgid
-s_setfsuid	setfsuid setfsuid	1	__syscall_setfsuid
-s_setgid	setgid	setgid		1	__syscall_setgid
-s_setgroups	setgroups setgroups	2	__syscall_setgroups
-s_setregid	setregid setregid	2	__syscall_setregid
-s_setresgid	setresgid setresgid	3	__syscall_setresgid
-s_setresuid	setresuid setresuid	3	__syscall_setresuid
-s_setreuid	setreuid setreuid	2	__syscall_setreuid
-s_setuid	setuid	setuid		1	__syscall_setuid
 syscall		-	syscall		7	syscall
 oldgetrlimit	EXTRA	getrlimit	i:ip	__old_getrlimit	getrlimit@GLIBC_2.0
 oldsetrlimit	EXTRA	setrlimit	i:ip	__old_setrlimit	setrlimit@GLIBC_2.0
diff --git a/sysdeps/unix/sysv/linux/cris/Makefile b/sysdeps/unix/sysv/linux/cris/Makefile
deleted file mode 100644
index 9d02acecc4..0000000000
--- a/sysdeps/unix/sysv/linux/cris/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-ifeq ($(subdir),signal)
-sysdep_routines += rt_sigsuspend rt_sigprocmask rt_sigtimedwait	\
-		   rt_sigqueueinfo rt_sigaction rt_sigpending
-endif
diff --git a/sysdeps/unix/sysv/linux/execve.c b/sysdeps/unix/sysv/linux/execve.c
index 0e0070964e..41dc0e75b0 100644
--- a/sysdeps/unix/sysv/linux/execve.c
+++ b/sysdeps/unix/sysv/linux/execve.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 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
@@ -24,11 +24,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_execve (const char *__unbounded file,
-			     char *__unbounded const *__unbounded argv,
-			     char *__unbounded const *__unbounded envp);
-
-
 int
 __execve (file, argv, envp)
      const char *file;
diff --git a/sysdeps/unix/sysv/linux/ftruncate64.c b/sysdeps/unix/sysv/linux/ftruncate64.c
index afd2e5659d..26caee2f46 100644
--- a/sysdeps/unix/sysv/linux/ftruncate64.c
+++ b/sysdeps/unix/sysv/linux/ftruncate64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,1999,2000,2001,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
@@ -32,9 +32,6 @@
 extern int __have_no_truncate64;
 #endif
 
-/* The order of hight, low depends on endianness.  */
-extern int __syscall_ftruncate64 (int fd, int high_length, int low_length);
-
 
 /* Truncate the file FD refers to to LENGTH bytes.  */
 int
diff --git a/sysdeps/unix/sysv/linux/fxstat64.c b/sysdeps/unix/sysv/linux/fxstat64.c
index 27e8ac2711..f443adf7da 100644
--- a/sysdeps/unix/sysv/linux/fxstat64.c
+++ b/sysdeps/unix/sysv/linux/fxstat64.c
@@ -32,10 +32,7 @@
 # include <xstatconv.h>
 #endif
 
-extern int __syscall_fstat (int, struct kernel_stat *__unbounded);
-
 #ifdef __NR_fstat64
-extern int __syscall_fstat64 (int, struct stat64 *__unbounded);
 # if  __ASSUME_STAT64_SYSCALL == 0
 /* The variable is shared between all wrappers around *stat64 calls.  */
 extern int __have_no_stat64;
diff --git a/sysdeps/unix/sysv/linux/gai_sigqueue.c b/sysdeps/unix/sysv/linux/gai_sigqueue.c
index fa4bdda3a6..3e67add0d7 100644
--- a/sysdeps/unix/sysv/linux/gai_sigqueue.c
+++ b/sysdeps/unix/sysv/linux/gai_sigqueue.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 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
@@ -28,8 +28,6 @@
 #include "gai_misc.h"
 
 #ifdef __NR_rt_sigqueueinfo
-extern int __syscall_rt_sigqueueinfo (int, int, siginfo_t *__unbounded);
-
 
 /* Return any pending signal or wait for one for the given time.  */
 int
diff --git a/sysdeps/unix/sysv/linux/getcwd.c b/sysdeps/unix/sysv/linux/getcwd.c
index 6725d16058..b14e5beb08 100644
--- a/sysdeps/unix/sysv/linux/getcwd.c
+++ b/sysdeps/unix/sysv/linux/getcwd.c
@@ -1,5 +1,5 @@
 /* Determine current working directory.  Linux version.
-   Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,1999,2000,2002,2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -35,7 +35,6 @@
 /* Kernel 2.1.92 introduced a third way to get the current working
    directory: a syscall.  We've got to be careful that even when
    compiling under 2.1.92+ the libc still runs under older kernels. */
-extern int __syscall_getcwd (char *__unbounded buf, unsigned long size);
 # define no_syscall_getcwd 0
 # define have_new_dcache 1
 /* This is a trick since we don't define generic_getcwd.  */
@@ -52,7 +51,6 @@ static char *generic_getcwd (char *buf, size_t size) internal_function;
 /* Kernel 2.1.92 introduced a third way to get the current working
    directory: a syscall.  We've got to be careful that even when
    compiling under 2.1.92+ the libc still runs under older kernels. */
-extern int __syscall_getcwd (char *__unbounded buf, unsigned long size);
 static int no_syscall_getcwd;
 static int have_new_dcache;
 # else
diff --git a/sysdeps/unix/sysv/linux/getdents.c b/sysdeps/unix/sysv/linux/getdents.c
index 2e6b485047..a732afe3c5 100644
--- a/sysdeps/unix/sysv/linux/getdents.c
+++ b/sysdeps/unix/sysv/linux/getdents.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995-2002 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1995-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
@@ -48,9 +48,6 @@ extern int __have_no_getdents64;
 
 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
 
-extern int __syscall_getdents (int fd, char *__unbounded buf, unsigned int nbytes);
-extern int __syscall_getdents64 (int fd, char *__unbounded buf, unsigned int nbytes);
-
 /* For Linux we need a special version of this file since the
    definition of `struct dirent' is not the same for the kernel and
    the libc.  There is one additional field which might be introduced
diff --git a/sysdeps/unix/sysv/linux/getpriority.c b/sysdeps/unix/sysv/linux/getpriority.c
index 56796ed81c..23da8495f0 100644
--- a/sysdeps/unix/sysv/linux/getpriority.c
+++ b/sysdeps/unix/sysv/linux/getpriority.c
@@ -1,5 +1,5 @@
 /* getpriority for Linux.
-   Copyright (C) 1996,98,2000,02 Free Software Foundation, Inc.
+   Copyright (C) 1996,98,2000,02,03 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
@@ -23,9 +23,7 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-extern int __syscall_getpriority (int, id_t);
-
-/* The return value of __syscall_getpriority is biased by this value
+/* The return value of getpriority syscall is biased by this value
    to avoid returning negative values.  */
 #define PZERO 20
 
diff --git a/sysdeps/unix/sysv/linux/i386/chown.c b/sysdeps/unix/sysv/linux/i386/chown.c
index 493edc5599..a838181136 100644
--- a/sysdeps/unix/sysv/linux/i386/chown.c
+++ b/sysdeps/unix/sysv/linux/i386/chown.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 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
@@ -37,9 +37,6 @@
   has therefore to route calls to chown to the old chown function.
 */
 
-extern int __syscall_chown (const char *__file,
-			    __kernel_uid_t __owner, __kernel_gid_t __group);
-
 extern int __chown_is_lchown (const char *__file, uid_t __owner,
 			      gid_t __group);
 extern int __real_chown (const char *__file, uid_t __owner, gid_t __group);
@@ -49,8 +46,6 @@ extern int __real_chown (const char *__file, uid_t __owner, gid_t __group);
 /* Running under Linux > 2.1.80.  */
 
 # ifdef __NR_chown32
-extern int __syscall_chown32 (const char *__file,
-			      __kernel_uid32_t owner, __kernel_gid32_t group);
 #  if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/fchown.c b/sysdeps/unix/sysv/linux/i386/fchown.c
index f82ecf63b1..1f2e389844 100644
--- a/sysdeps/unix/sysv/linux/i386/fchown.c
+++ b/sysdeps/unix/sysv/linux/i386/fchown.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 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
@@ -25,12 +25,7 @@
 #include <linux/posix_types.h>
 #include "kernel-features.h"
 
-extern int __syscall_fchown (int __fd,
-			     __kernel_uid_t __owner, __kernel_gid_t __group);
-
 #ifdef __NR_fchown32
-extern int __syscall_fchown32 (int __fd,
-			       __kernel_uid32_t __owner, __kernel_gid32_t __group);
 # if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/fcntl.c b/sysdeps/unix/sysv/linux/i386/fcntl.c
index c316769eba..749288d92b 100644
--- a/sysdeps/unix/sysv/linux/i386/fcntl.c
+++ b/sysdeps/unix/sysv/linux/i386/fcntl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 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
@@ -25,11 +25,6 @@
 #include <sys/syscall.h>
 #include "../kernel-features.h"
 
-extern int __syscall_fcntl (int __fd, int __cmd, ...);
-#ifdef __NR_fcntl64
-extern int __syscall_fcntl64 (int __fd, int __cmd, ...);
-#endif
-
 #if __ASSUME_FCNTL64 == 0
 /* This variable is shared with all files that check for fcntl64.  */
 int __have_no_fcntl64;
diff --git a/sysdeps/unix/sysv/linux/i386/fxstat.c b/sysdeps/unix/sysv/linux/i386/fxstat.c
index 13a3bc77b7..40787b99e7 100644
--- a/sysdeps/unix/sysv/linux/i386/fxstat.c
+++ b/sysdeps/unix/sysv/linux/i386/fxstat.c
@@ -34,10 +34,7 @@
 
 #include <xstatconv.h>
 
-extern int __syscall_fstat (int, struct kernel_stat *__unbounded);
-
 #ifdef __NR_stat64
-extern int __syscall_fstat64 (int, struct stat64 *__unbounded);
 # if  __ASSUME_STAT64_SYSCALL == 0
 /* The variable is shared between all wrappers around *stat64 calls.  */
 extern int __have_no_stat64;
diff --git a/sysdeps/unix/sysv/linux/i386/getegid.c b/sysdeps/unix/sysv/linux/i386/getegid.c
index 8231ae823e..c54133b359 100644
--- a/sysdeps/unix/sysv/linux/i386/getegid.c
+++ b/sysdeps/unix/sysv/linux/i386/getegid.c
@@ -23,10 +23,7 @@
 #include <sys/syscall.h>
 #include "kernel-features.h"
 
-extern int __syscall_getegid (void);
-
 #ifdef __NR_getegid32
-extern int __syscall_getegid32 (void);
 # if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/geteuid.c b/sysdeps/unix/sysv/linux/i386/geteuid.c
index 3d98be3ce0..8d56f6c7f8 100644
--- a/sysdeps/unix/sysv/linux/i386/geteuid.c
+++ b/sysdeps/unix/sysv/linux/i386/geteuid.c
@@ -23,10 +23,7 @@
 #include <sys/syscall.h>
 #include "kernel-features.h"
 
-extern int __syscall_geteuid (void);
-
 #ifdef __NR_geteuid32
-extern int __syscall_geteuid32 (void);
 # if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/getgid.c b/sysdeps/unix/sysv/linux/i386/getgid.c
index df076b4ca8..0ff63580f6 100644
--- a/sysdeps/unix/sysv/linux/i386/getgid.c
+++ b/sysdeps/unix/sysv/linux/i386/getgid.c
@@ -24,10 +24,7 @@
 
 #include "kernel-features.h"
 
-extern int __syscall_getgid (void);
-
 #ifdef __NR_getgid32
-extern int __syscall_getgid32 (void);
 # if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/getgroups.c b/sysdeps/unix/sysv/linux/i386/getgroups.c
index a8bf232989..b7a0a4efd4 100644
--- a/sysdeps/unix/sysv/linux/i386/getgroups.c
+++ b/sysdeps/unix/sysv/linux/i386/getgroups.c
@@ -29,10 +29,7 @@
 #include <kernel-features.h>
 
 
-extern int __syscall_getgroups (int, __kernel_gid_t *__unbounded);
-
 #ifdef __NR_getgroups32
-extern int __syscall_getgroups32 (int, __kernel_gid32_t *__unbounded);
 # if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/getmsg.c b/sysdeps/unix/sysv/linux/i386/getmsg.c
index aabb1c4940..e6ca88d136 100644
--- a/sysdeps/unix/sysv/linux/i386/getmsg.c
+++ b/sysdeps/unix/sysv/linux/i386/getmsg.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 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
@@ -23,9 +23,6 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-extern int __syscall_getpmsg (int fildes, struct strbuf *ctlptr,
-			      struct strbuf *dataptr, int *bandp, int *flagsp);
-
 #ifdef __NR_getpmsg
 int
 getmsg (fildes, ctlptr, dataptr, flagsp)
diff --git a/sysdeps/unix/sysv/linux/i386/getresgid.c b/sysdeps/unix/sysv/linux/i386/getresgid.c
index 9314067fd7..8028dec3f9 100644
--- a/sysdeps/unix/sysv/linux/i386/getresgid.c
+++ b/sysdeps/unix/sysv/linux/i386/getresgid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 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
@@ -30,15 +30,7 @@
 
 #ifdef __NR_getresgid
 
-extern int __syscall_getresgid (__kernel_gid_t *__unbounded rgid,
-				__kernel_gid_t *__unbounded egid,
-				__kernel_gid_t *__unbounded sgid);
-
 # ifdef __NR_getresgid32
-extern int __syscall_getresgid32 (__kernel_gid32_t *__unbounded rgid,
-				  __kernel_gid32_t *__unbounded egid,
-				  __kernel_gid32_t *__unbounded sgid);
-
 #  if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/getresuid.c b/sysdeps/unix/sysv/linux/i386/getresuid.c
index 8db11f1f8a..6b94bbb66c 100644
--- a/sysdeps/unix/sysv/linux/i386/getresuid.c
+++ b/sysdeps/unix/sysv/linux/i386/getresuid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 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
@@ -30,14 +30,7 @@
 
 #ifdef __NR_getresuid
 
-extern int __syscall_getresuid (__kernel_uid_t *__unbounded ruid,
-				__kernel_uid_t *__unbounded euid,
-				__kernel_uid_t *__unbounded suid);
-
 # ifdef __NR_getresuid32
-extern int __syscall_getresuid32 (__kernel_uid32_t *__unbounded ruid,
-				  __kernel_uid32_t *__unbounded euid,
-				  __kernel_uid32_t *__unbounded suid);
 #  if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/getrlimit.c b/sysdeps/unix/sysv/linux/i386/getrlimit.c
index f7af9340cb..38b369bc4f 100644
--- a/sysdeps/unix/sysv/linux/i386/getrlimit.c
+++ b/sysdeps/unix/sysv/linux/i386/getrlimit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 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
@@ -26,11 +26,6 @@
 
 #include "kernel-features.h"
 
-extern int __syscall_ugetrlimit (unsigned int resource,
-				 struct rlimit *__unbounded rlimits);
-extern int __syscall_getrlimit (unsigned int resource,
-				struct rlimit *__unbounded rlimits);
-
 extern int __new_getrlimit (enum __rlimit_resource resource,
 			    struct rlimit *__unbounded rlimits);
 
diff --git a/sysdeps/unix/sysv/linux/i386/getuid.c b/sysdeps/unix/sysv/linux/i386/getuid.c
index 044ce5d5a0..3e5c901ec5 100644
--- a/sysdeps/unix/sysv/linux/i386/getuid.c
+++ b/sysdeps/unix/sysv/linux/i386/getuid.c
@@ -24,10 +24,7 @@
 
 #include "kernel-features.h"
 
-extern int __syscall_getuid (void);
-
 #ifdef __NR_getuid32
-extern int __syscall_getuid32 (void);
 # if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  This is the definition.
diff --git a/sysdeps/unix/sysv/linux/i386/lchown.c b/sysdeps/unix/sysv/linux/i386/lchown.c
index 88394c4d40..1b217a9451 100644
--- a/sysdeps/unix/sysv/linux/i386/lchown.c
+++ b/sysdeps/unix/sysv/linux/i386/lchown.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 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
@@ -27,12 +27,7 @@
 #include "kernel-features.h"
 
 #ifdef __NR_lchown
-extern int __syscall_lchown (const char *__unbounded __file,
-			     __kernel_uid_t __owner, __kernel_gid_t __group);
-
 # ifdef __NR_lchown32
-extern int __syscall_lchown32 (const char *__unbounded __file,
-			       __kernel_uid32_t __owner, __kernel_gid32_t __group);
 #  if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/lockf64.c b/sysdeps/unix/sysv/linux/i386/lockf64.c
index 07f012a7e0..e066cb26e1 100644
--- a/sysdeps/unix/sysv/linux/i386/lockf64.c
+++ b/sysdeps/unix/sysv/linux/i386/lockf64.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 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
@@ -28,8 +29,6 @@
 /* lockf is a simplified interface to fcntl's locking facilities.  */
 
 #ifdef __NR_fcntl64
-extern int __syscall_fcntl64 (int __fd, int __cmd, ...);
-
 # if __ASSUME_FCNTL64 == 0
 /* This variable is shared with all files that check for fcntl64. The
    declaration is in fcntl.c.  */
diff --git a/sysdeps/unix/sysv/linux/i386/lxstat.c b/sysdeps/unix/sysv/linux/i386/lxstat.c
index adf55dc5e8..65ea0bbed0 100644
--- a/sysdeps/unix/sysv/linux/i386/lxstat.c
+++ b/sysdeps/unix/sysv/linux/i386/lxstat.c
@@ -1,5 +1,6 @@
 /* lxstat using old-style Unix lstat system call.
-   Copyright (C) 1991,95,96,97,98,2000,2002,2003 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1995, 1996, 1997, 1998, 2000, 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
@@ -34,12 +35,7 @@
 
 #include <xstatconv.h>
 
-extern int __syscall_lstat (const char *__unbounded,
-			    struct kernel_stat *__unbounded);
-
 #ifdef __NR_stat64
-extern int __syscall_lstat64 (const char *__unbounded,
-			      struct stat64 *__unbounded);
 # if  __ASSUME_STAT64_SYSCALL == 0
 /* The variable is shared between all wrappers around *stat64 calls.  */
 extern int __have_no_stat64;
diff --git a/sysdeps/unix/sysv/linux/i386/putmsg.c b/sysdeps/unix/sysv/linux/i386/putmsg.c
index 92658ad491..e7b7a08b55 100644
--- a/sysdeps/unix/sysv/linux/i386/putmsg.c
+++ b/sysdeps/unix/sysv/linux/i386/putmsg.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 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
@@ -23,10 +23,6 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-extern int __syscall_putpmsg (int fildes, const struct strbuf *ctlptr,
-			      const struct strbuf *dataptr, int band,
-			      int flags);
-
 #ifdef __NR_putpmsg
 int
 putmsg (fildes, ctlptr, dataptr, flags)
diff --git a/sysdeps/unix/sysv/linux/i386/setfsgid.c b/sysdeps/unix/sysv/linux/i386/setfsgid.c
index dad61e2aa6..b98514d5be 100644
--- a/sysdeps/unix/sysv/linux/i386/setfsgid.c
+++ b/sysdeps/unix/sysv/linux/i386/setfsgid.c
@@ -28,10 +28,7 @@
 
 #ifdef __NR_setfsgid
 
-extern int __syscall_setfsgid (__kernel_gid_t);
-
 # ifdef __NR_setfsgid32
-extern int __syscall_setfsgid32 (__kernel_gid32_t);
 #  if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/setfsuid.c b/sysdeps/unix/sysv/linux/i386/setfsuid.c
index f3d66d6d07..f7cf89bf14 100644
--- a/sysdeps/unix/sysv/linux/i386/setfsuid.c
+++ b/sysdeps/unix/sysv/linux/i386/setfsuid.c
@@ -28,10 +28,7 @@
 
 #ifdef __NR_setfsuid
 
-extern int __syscall_setfsuid (__kernel_uid_t);
-
 # ifdef __NR_setfsuid32
-extern int __syscall_setfsuid32 (__kernel_uid32_t);
 #  if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/setgid.c b/sysdeps/unix/sysv/linux/i386/setgid.c
index 3bb051b86d..1fdca94064 100644
--- a/sysdeps/unix/sysv/linux/i386/setgid.c
+++ b/sysdeps/unix/sysv/linux/i386/setgid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 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
@@ -27,10 +27,7 @@
 
 #include "kernel-features.h"
 
-extern int __syscall_setgid (__kernel_gid_t);
-
 #ifdef __NR_setgid32
-extern int __syscall_setgid32 (__kernel_gid32_t);
 # if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/setgroups.c b/sysdeps/unix/sysv/linux/i386/setgroups.c
index 0e9b4550c3..14c8f783b3 100644
--- a/sysdeps/unix/sysv/linux/i386/setgroups.c
+++ b/sysdeps/unix/sysv/linux/i386/setgroups.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997,98,2000,02 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 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
@@ -29,10 +29,7 @@
 #include "kernel-features.h"
 
 
-extern int __syscall_setgroups (int, const __kernel_gid_t *__unbounded);
-
 #ifdef __NR_setgroups32
-extern int __syscall_setgroups32 (int, const __kernel_gid32_t *__unbounded);
 # if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/setregid.c b/sysdeps/unix/sysv/linux/i386/setregid.c
index 05ed05bbc8..be1d73cb99 100644
--- a/sysdeps/unix/sysv/linux/i386/setregid.c
+++ b/sysdeps/unix/sysv/linux/i386/setregid.c
@@ -27,10 +27,7 @@
 #include "kernel-features.h"
 
 
-extern int __syscall_setregid (__kernel_gid_t, __kernel_gid_t);
-
 #ifdef __NR_setregid32
-extern int __syscall_setregid32 (__kernel_gid32_t, __kernel_gid32_t);
 # if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/setresgid.c b/sysdeps/unix/sysv/linux/i386/setresgid.c
index 264b694ff5..414a58b07e 100644
--- a/sysdeps/unix/sysv/linux/i386/setresgid.c
+++ b/sysdeps/unix/sysv/linux/i386/setresgid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 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
@@ -28,12 +28,7 @@
 
 #ifdef __NR_setresgid
 
-extern int __syscall_setresgid (__kernel_gid_t rgid, __kernel_gid_t egid,
-				__kernel_gid_t sgid);
-
 # ifdef __NR_setresgid32
-extern int __syscall_setresgid32 (__kernel_gid32_t rgid, __kernel_gid32_t egid,
-				  __kernel_gid32_t sgid);
 #  if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/setresuid.c b/sysdeps/unix/sysv/linux/i386/setresuid.c
index bcfe797451..537fb7995b 100644
--- a/sysdeps/unix/sysv/linux/i386/setresuid.c
+++ b/sysdeps/unix/sysv/linux/i386/setresuid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 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
@@ -28,12 +28,7 @@
 
 #ifdef __NR_setresuid
 
-extern int __syscall_setresuid (__kernel_uid_t rgid, __kernel_uid_t egid,
-				__kernel_uid_t sgid);
-
 # ifdef __NR_setresuid32
-extern int __syscall_setresuid32 (__kernel_uid32_t rgid, __kernel_uid32_t egid,
-				  __kernel_uid32_t sgid);
 #  if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/setreuid.c b/sysdeps/unix/sysv/linux/i386/setreuid.c
index efd51dffd8..2aadf7437f 100644
--- a/sysdeps/unix/sysv/linux/i386/setreuid.c
+++ b/sysdeps/unix/sysv/linux/i386/setreuid.c
@@ -27,10 +27,7 @@
 #include "kernel-features.h"
 
 
-extern int __syscall_setreuid (__kernel_uid_t, __kernel_uid_t);
-
 #ifdef __NR_setreuid32
-extern int __syscall_setreuid32 (__kernel_uid32_t, __kernel_uid32_t);
 # if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/setrlimit.c b/sysdeps/unix/sysv/linux/i386/setrlimit.c
index a5452eb917..4d23209f62 100644
--- a/sysdeps/unix/sysv/linux/i386/setrlimit.c
+++ b/sysdeps/unix/sysv/linux/i386/setrlimit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 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
@@ -27,10 +27,6 @@
 
 #include "kernel-features.h"
 
-extern int __syscall_setrlimit (unsigned int resource,
-				const struct rlimit *__unbounded rlimits);
-extern int __syscall_ugetrlimit (unsigned int resource,
-				 const struct rlimit *__unbounded rlimits);
 extern int __new_setrlimit (enum __rlimit_resource resource,
 			    const struct rlimit *__unboundedrlimits);
 
diff --git a/sysdeps/unix/sysv/linux/i386/setuid.c b/sysdeps/unix/sysv/linux/i386/setuid.c
index a4fae2c95a..69bf42596f 100644
--- a/sysdeps/unix/sysv/linux/i386/setuid.c
+++ b/sysdeps/unix/sysv/linux/i386/setuid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 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
@@ -26,10 +26,7 @@
 #include <linux/posix_types.h>
 #include "kernel-features.h"
 
-extern int __syscall_setuid (__kernel_uid_t);
-
 #ifdef __NR_setuid32
-extern int __syscall_setuid32 (__kernel_uid32_t);
 # if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/i386/sigaction.c b/sysdeps/unix/sysv/linux/i386/sigaction.c
index 55252632dc..32b5d3c6f1 100644
--- a/sysdeps/unix/sysv/linux/i386/sigaction.c
+++ b/sysdeps/unix/sysv/linux/i386/sigaction.c
@@ -37,9 +37,6 @@
 #define SA_RESTORER 0x04000000
 
 
-extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *__unbounded,
-				   struct kernel_sigaction *__unbounded, size_t);
-
 #if __ASSUME_REALTIME_SIGNALS == 0
 /* The variable is shared between all wrappers around signal handling
    functions which have RT equivalents.  */
diff --git a/sysdeps/unix/sysv/linux/i386/xstat.c b/sysdeps/unix/sysv/linux/i386/xstat.c
index 5442fc42b6..7c41d8cefa 100644
--- a/sysdeps/unix/sysv/linux/i386/xstat.c
+++ b/sysdeps/unix/sysv/linux/i386/xstat.c
@@ -34,12 +34,7 @@
 
 #include <xstatconv.h>
 
-extern int __syscall_stat (const char *__unbounded,
-			   struct kernel_stat *__unbounded);
-
 #ifdef __NR_stat64
-extern int __syscall_stat64 (const char *__unbounded,
-			     struct stat64 *__unbounded);
 # if __ASSUME_STAT64_SYSCALL == 0
 /* The variable is shared between all wrappers around *stat64 calls.  */
 extern int __have_no_stat64;
diff --git a/sysdeps/unix/sysv/linux/ia64/fxstat.c b/sysdeps/unix/sysv/linux/ia64/fxstat.c
index b402401992..cbcb3146dc 100644
--- a/sysdeps/unix/sysv/linux/ia64/fxstat.c
+++ b/sysdeps/unix/sysv/linux/ia64/fxstat.c
@@ -1,5 +1,6 @@
 /* fxstat using old-style Unix fstat system call.
-   Copyright (C) 1991,95,96,97,98,2000,2002 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1995, 1996, 1997, 1998, 2000, 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
@@ -29,8 +30,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_fstat (int, struct stat *__unbounded);
-
 /* Get information about the file FD in BUF.  */
 int
 __fxstat (int vers, int fd, struct stat *buf)
diff --git a/sysdeps/unix/sysv/linux/ia64/lxstat.c b/sysdeps/unix/sysv/linux/ia64/lxstat.c
index 97b3a24e01..a2a30a38d6 100644
--- a/sysdeps/unix/sysv/linux/ia64/lxstat.c
+++ b/sysdeps/unix/sysv/linux/ia64/lxstat.c
@@ -1,5 +1,6 @@
 /* lxstat using old-style Unix fstat system call.
-   Copyright (C) 1991,95,96,97,98,2000,2002 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1995, 1996, 1997, 1998, 2000, 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
@@ -29,8 +30,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_lstat (const char *__unbounded, struct stat *__unbounded);
-
 /* Get information about the file FD in BUF.  */
 int
 __lxstat (int vers, const char *name, struct stat *buf)
diff --git a/sysdeps/unix/sysv/linux/ia64/sigaction.c b/sysdeps/unix/sysv/linux/ia64/sigaction.c
index 86558a588d..6ec3cb1e61 100644
--- a/sysdeps/unix/sysv/linux/ia64/sigaction.c
+++ b/sysdeps/unix/sysv/linux/ia64/sigaction.c
@@ -29,9 +29,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_rt_sigaction (int, const struct sigaction *__unbounded,
-				   struct sigaction *__unbounded, size_t);
-
 /* The variable is shared between all wrappers around signal handling
    functions which have RT equivalents.  This is the definition.  */
 
diff --git a/sysdeps/unix/sysv/linux/ia64/sigpending.c b/sysdeps/unix/sysv/linux/ia64/sigpending.c
index 9a4c856d7c..ae75a55161 100644
--- a/sysdeps/unix/sysv/linux/ia64/sigpending.c
+++ b/sysdeps/unix/sysv/linux/ia64/sigpending.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 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
@@ -27,9 +27,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_rt_sigpending (sigset_t *__unbounded, size_t);
-
-
 /* Change the set of blocked signals to SET,
    wait until a signal arrives, and restore the set of blocked signals.  */
 int
diff --git a/sysdeps/unix/sysv/linux/ia64/sigprocmask.c b/sysdeps/unix/sysv/linux/ia64/sigprocmask.c
index 18d5409e3f..ba8b053869 100644
--- a/sysdeps/unix/sysv/linux/ia64/sigprocmask.c
+++ b/sysdeps/unix/sysv/linux/ia64/sigprocmask.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Linux/IA64 specific sigprocmask
    Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999.
@@ -29,9 +29,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_rt_sigprocmask (int, const sigset_t *__unbounded,
-				     sigset_t *__unbounded, size_t);
-
 /* Get and/or change the set of blocked signals.  */
 int
 __sigprocmask (how, set, oset)
diff --git a/sysdeps/unix/sysv/linux/ia64/sigsuspend.c b/sysdeps/unix/sysv/linux/ia64/sigsuspend.c
index 5accdda05f..f8f9563494 100644
--- a/sysdeps/unix/sysv/linux/ia64/sigsuspend.c
+++ b/sysdeps/unix/sysv/linux/ia64/sigsuspend.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 1999, 2000, 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
@@ -24,9 +25,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_rt_sigsuspend (const sigset_t *__unbounded, size_t);
-
-
 /* Change the set of blocked signals to SET,
    wait until a signal arrives, and restore the set of blocked signals.  */
 int
diff --git a/sysdeps/unix/sysv/linux/ia64/xstat.c b/sysdeps/unix/sysv/linux/ia64/xstat.c
index 63d1192efb..9f6b5d29fa 100644
--- a/sysdeps/unix/sysv/linux/ia64/xstat.c
+++ b/sysdeps/unix/sysv/linux/ia64/xstat.c
@@ -1,5 +1,6 @@
 /* xstat using old-style Unix stat system call.
-   Copyright (C) 1991,95,96,97,98,2000,2002 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1995, 1996, 1997, 1998, 2000, 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
@@ -29,8 +30,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_stat (const char *__unbounded, struct stat *__unbounded);
-
 /* Get information about the file NAME in BUF.  */
 int
 __xstat (int vers, const char *name, struct stat *buf)
diff --git a/sysdeps/unix/sysv/linux/ipc_priv.h b/sysdeps/unix/sysv/linux/ipc_priv.h
index 564bee13bb..20ba1a2067 100644
--- a/sysdeps/unix/sysv/linux/ipc_priv.h
+++ b/sysdeps/unix/sysv/linux/ipc_priv.h
@@ -32,15 +32,7 @@ struct __old_ipc_perm
 };
 
 
-__BEGIN_DECLS
-
-/* The actual system call: all functions are multiplexed by this.  */
-extern int __syscall_ipc (int __call, int __first, int __second,
-			  int __third, void *__ptr);
-
-__END_DECLS
-
-/* The codes for the functions to use the multiplexer `__syscall_ipc'.  */
+/* The codes for the functions to use the ipc syscall multiplexer.  */
 #define IPCOP_semop	 1
 #define IPCOP_semget	 2
 #define IPCOP_semctl	 3
diff --git a/sysdeps/unix/sysv/linux/llseek.c b/sysdeps/unix/sysv/linux/llseek.c
index dcfd9dde9a..25c7bf2b55 100644
--- a/sysdeps/unix/sysv/linux/llseek.c
+++ b/sysdeps/unix/sysv/linux/llseek.c
@@ -23,9 +23,6 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-extern int __syscall__llseek (int fd, off_t offset_hi, off_t offset_lo,
-			      loff_t *__unbounded result, int whence);
-
 /* Seek to OFFSET on FD, starting from WHENCE.  */
 extern loff_t __llseek (int fd, loff_t offset, int whence);
 
diff --git a/sysdeps/unix/sysv/linux/lxstat64.c b/sysdeps/unix/sysv/linux/lxstat64.c
index 58ff6fff61..4e80469572 100644
--- a/sysdeps/unix/sysv/linux/lxstat64.c
+++ b/sysdeps/unix/sysv/linux/lxstat64.c
@@ -32,12 +32,7 @@
 # include <xstatconv.h>
 #endif
 
-extern int __syscall_lstat (const char *__unbounded,
-			    struct kernel_stat *__unbounded);
-
 #ifdef __NR_lstat64
-extern int __syscall_lstat64 (const char *__unbounded,
-			      struct stat64 *__unbounded);
 # if  __ASSUME_STAT64_SYSCALL == 0
 /* The variable is shared between all wrappers around *stat64 calls.  */
 extern int __have_no_stat64;
diff --git a/sysdeps/unix/sysv/linux/m68k/chown.c b/sysdeps/unix/sysv/linux/m68k/chown.c
index ad0386d1d9..735fa5780a 100644
--- a/sysdeps/unix/sysv/linux/m68k/chown.c
+++ b/sysdeps/unix/sysv/linux/m68k/chown.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 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
@@ -26,13 +26,7 @@
 #include <linux/posix_types.h>
 #include "kernel-features.h"
 
-extern int __syscall_chown (const char *__unbounded __file,
-			    __kernel_uid_t __owner, __kernel_gid_t __group);
-
 #ifdef __NR_chown32
-extern int __syscall_chown32 (const char *__unbounded __file,
-			      __kernel_uid32_t owner, __kernel_gid32_t group);
-
 # if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/mips/Makefile b/sysdeps/unix/sysv/linux/mips/Makefile
index 6703778391..d65175f5ea 100644
--- a/sysdeps/unix/sysv/linux/mips/Makefile
+++ b/sysdeps/unix/sysv/linux/mips/Makefile
@@ -1,6 +1,4 @@
 ifeq ($(subdir),signal)
-sysdep_routines += rt_sigsuspend rt_sigprocmask rt_sigtimedwait	\
-		   rt_sigqueueinfo rt_sigaction rt_sigpending
 #sysdep_routines += sigsuspend
 endif
 
diff --git a/sysdeps/unix/sysv/linux/mips/ftruncate64.c b/sysdeps/unix/sysv/linux/mips/ftruncate64.c
index fc88539b31..cdb2d56840 100644
--- a/sysdeps/unix/sysv/linux/mips/ftruncate64.c
+++ b/sysdeps/unix/sysv/linux/mips/ftruncate64.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 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
@@ -32,11 +33,6 @@
 extern int __have_no_truncate64;
 #endif
 
-/* The order of hight, low depends on endianness.  */
-extern int __syscall_ftruncate64 (int fd, int dummy, int high_length,
-				  int low_length);
-
-
 /* Truncate the file FD refers to to LENGTH bytes.  */
 int
 __ftruncate64 (int fd, off64_t length)
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/syscalls.list b/sysdeps/unix/sysv/linux/mips/mips64/syscalls.list
index 14ad564573..b6d2e9444f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/syscalls.list
+++ b/sysdeps/unix/sysv/linux/mips/mips64/syscalls.list
@@ -3,8 +3,8 @@
 lseek		-	lseek		i:iii	__libc_lseek	__lseek lseek __llseek llseek __libc_lseek64 __lseek64 lseek64
 
 # proper socket implementations:
-recvfrom	-	recvfrom	i:ibniBN __libc_recvfrom __recvfrom recvfrom __syscall_recvfrom
-sendto		-	sendto		i:ibnibn __libc_sendto	__sendto sendto __syscall_sendto
+recvfrom	-	recvfrom	i:ibniBN __libc_recvfrom __recvfrom recvfrom
+sendto		-	sendto		i:ibnibn __libc_sendto	__sendto sendto
 
 # semaphore and shm system calls
 msgctl		-	msgctl		i:iip	__msgctl	msgctl
diff --git a/sysdeps/unix/sysv/linux/mips/pread.c b/sysdeps/unix/sysv/linux/mips/pread.c
index 28fdca6062..86d47e9b7a 100644
--- a/sysdeps/unix/sysv/linux/mips/pread.c
+++ b/sysdeps/unix/sysv/linux/mips/pread.c
@@ -41,16 +41,6 @@
 static ssize_t __emulate_pread (int fd, void *buf, size_t count,
 				off_t offset) internal_function;
 # endif
-extern ssize_t __syscall_pread (int fd, void *__unbounded buf, size_t count,
-				int dummy,
-#if defined _ABI64 && _MIPS_SIM == _ABI64
-				off_t offset
-#else
-				off_t offset_hi, off_t offset_lo
-#endif
-				);
-
-
 
 ssize_t
 __libc_pread (fd, buf, count, offset)
diff --git a/sysdeps/unix/sysv/linux/mips/pread64.c b/sysdeps/unix/sysv/linux/mips/pread64.c
index 7dcd008ff7..9a20987b92 100644
--- a/sysdeps/unix/sysv/linux/mips/pread64.c
+++ b/sysdeps/unix/sysv/linux/mips/pread64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2000, 2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -41,17 +41,6 @@ static ssize_t __emulate_pread64 (int fd, void *buf, size_t count,
 				  off64_t offset) internal_function;
 # endif
 
-extern ssize_t __syscall_pread (int fd, void *__unbounded buf, size_t count,
-				int dummy,
-#if defined _ABI64 && _MIPS_SIM == _ABI64
-				off_t offset
-#else
-				off_t offset_hi, off_t offset_lo
-#endif
-				);
-
-
-
 ssize_t
 __libc_pread64 (fd, buf, count, offset)
      int fd;
diff --git a/sysdeps/unix/sysv/linux/mips/ptrace.c b/sysdeps/unix/sysv/linux/mips/ptrace.c
index b67fe83071..78c662a9db 100644
--- a/sysdeps/unix/sysv/linux/mips/ptrace.c
+++ b/sysdeps/unix/sysv/linux/mips/ptrace.c
@@ -33,9 +33,6 @@ __extension__ typedef long long int reg_type;
 typedef long int reg_type;
 #endif
 
-extern reg_type __syscall_ptrace (int, pid_t, void *__unbounded,
-				  reg_type __unbounded);
-
 reg_type
 ptrace (enum __ptrace_request request, ...)
 {
diff --git a/sysdeps/unix/sysv/linux/mips/pwrite.c b/sysdeps/unix/sysv/linux/mips/pwrite.c
index fa3de156c4..6fb74534cc 100644
--- a/sysdeps/unix/sysv/linux/mips/pwrite.c
+++ b/sysdeps/unix/sysv/linux/mips/pwrite.c
@@ -37,15 +37,6 @@
 
 #if defined __NR_pwrite || __ASSUME_PWRITE_SYSCALL > 0
 
-extern ssize_t __syscall_pwrite (int fd, const void *__unbounded buf, size_t count,
-				 int dummy,
-#if defined _ABI64 && _MIPS_SIM == _ABI64
-				 off_t offset
-#else
-				 off_t offset_hi, off_t offset_lo
-#endif
-				 );
-
 # if __ASSUME_PWRITE_SYSCALL == 0
 static ssize_t __emulate_pwrite (int fd, const void *buf, size_t count,
 				 off_t offset) internal_function;
diff --git a/sysdeps/unix/sysv/linux/mips/pwrite64.c b/sysdeps/unix/sysv/linux/mips/pwrite64.c
index 5b481b256c..3ac4233fa0 100644
--- a/sysdeps/unix/sysv/linux/mips/pwrite64.c
+++ b/sysdeps/unix/sysv/linux/mips/pwrite64.c
@@ -36,15 +36,6 @@
 
 #if defined __NR_pwrite || __ASSUME_PWRITE_SYSCALL > 0
 
-extern ssize_t __syscall_pwrite (int fd, const void *__unbounded buf, size_t count,
-				 int dummy,
-#if defined _ABI64 && _MIPS_SIM == _ABI64
-				 off_t offset
-#else
-				 off_t offset_hi, off_t offset_lo
-#endif
-				 );
-
 # if __ASSUME_PWRITE_SYSCALL == 0
 static ssize_t __emulate_pwrite64 (int fd, const void *buf, size_t count,
 				   off64_t offset) internal_function;
diff --git a/sysdeps/unix/sysv/linux/mips/sigaction.c b/sysdeps/unix/sysv/linux/mips/sigaction.c
index 2a99bac8fe..bc7db2b555 100644
--- a/sysdeps/unix/sysv/linux/mips/sigaction.c
+++ b/sysdeps/unix/sysv/linux/mips/sigaction.c
@@ -35,11 +35,7 @@
    functions which have RT equivalents.	 This is the definition.  */
 int __libc_missing_rt_sigs;
 
-extern int __syscall_sigaction (int, const struct old_kernel_sigaction *__unbounded,
-				struct old_kernel_sigaction *__unbounded);
 #endif
-extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *__unbounded,
-				   struct kernel_sigaction *__unbounded, size_t);
 
 #if _MIPS_SIM != _MIPS_SIM_ABI32
 
diff --git a/sysdeps/unix/sysv/linux/mips/syscalls.list b/sysdeps/unix/sysv/linux/mips/syscalls.list
index 51789a7679..518f2a2522 100644
--- a/sysdeps/unix/sysv/linux/mips/syscalls.list
+++ b/sysdeps/unix/sysv/linux/mips/syscalls.list
@@ -8,8 +8,6 @@ cachectl	-	cachectl	i:pii	__cachectl	cachectl
 cacheflush	-	cacheflush	i:pii	_flush_cache	cacheflush
 sysmips		-	sysmips		i:iiii	__sysmips	sysmips
 
-s_sigsuspend	sigsuspend sigsuspend	i:p	__syscall_sigsuspend
-
 #
 # Socket functions; Linux/MIPS doesn't use the socketcall(2) wrapper;
 # it's provided for compatibility, though.
@@ -31,11 +29,3 @@ setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
 shutdown	-	shutdown	i:ii	__shutdown	shutdown
 socket		-	socket		i:iii	__socket	socket
 socketpair	-	socketpair	i:iiif	__socketpair	socketpair
-
-# System calls with wrappers.
-rt_sigaction	-	rt_sigaction	i:ippi	__syscall_rt_sigaction
-rt_sigpending	-	rt_sigpending	i:pi	__syscall_rt_sigpending
-rt_sigprocmask	-	rt_sigprocmask	i:ippi	__syscall_rt_sigprocmask
-rt_sigqueueinfo	-	rt_sigqueueinfo	i:iip	__syscall_rt_sigqueueinfo
-rt_sigsuspend	-	rt_sigsuspend	i:pi	__syscall_rt_sigsuspend
-rt_sigtimedwait	-	rt_sigtimedwait	i:pppi	__syscall_rt_sigtimedwait
diff --git a/sysdeps/unix/sysv/linux/mips/truncate64.c b/sysdeps/unix/sysv/linux/mips/truncate64.c
index 3bb73ce96d..e955f18ea3 100644
--- a/sysdeps/unix/sysv/linux/mips/truncate64.c
+++ b/sysdeps/unix/sysv/linux/mips/truncate64.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 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
@@ -33,11 +34,6 @@
 int __have_no_truncate64;
 #endif
 
-/* The order of hight, low depends on endianness.  */
-extern int __syscall_truncate64 (const char *__unbounded path, int dummy,
-				 int high_length, int low_length);
-
-
 /* Truncate the file FD refers to to LENGTH bytes.  */
 int
 truncate64 (const char *path, off64_t length)
diff --git a/sysdeps/unix/sysv/linux/mips/ustat.c b/sysdeps/unix/sysv/linux/mips/ustat.c
index 8f5002ce92..a309f7104c 100644
--- a/sysdeps/unix/sysv/linux/mips/ustat.c
+++ b/sysdeps/unix/sysv/linux/mips/ustat.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -25,8 +25,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_ustat (unsigned long dev, struct ustat *__unbounded ubuf);
-
 int
 ustat (dev_t dev, struct ustat *ubuf)
 {
diff --git a/sysdeps/unix/sysv/linux/mips/xmknod.c b/sysdeps/unix/sysv/linux/mips/xmknod.c
index 217c9c2111..2d09752405 100644
--- a/sysdeps/unix/sysv/linux/mips/xmknod.c
+++ b/sysdeps/unix/sysv/linux/mips/xmknod.c
@@ -1,5 +1,6 @@
 /* xmknod call using old-style Unix mknod system call.
-   Copyright (C) 1991,93,95,96,97,98,00,2002 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1993, 1995, 1996, 1997, 1998, 2000, 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
@@ -26,8 +27,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_mknod (const char *__unbounded, unsigned long, unsigned int);
-
 /* Create a device file named PATH, with permission and special bits MODE
    and device number DEV (which can be constructed from major and minor
    device numbers with the `makedev' macro above).  */
diff --git a/sysdeps/unix/sysv/linux/mmap64.c b/sysdeps/unix/sysv/linux/mmap64.c
index ea7cd3233e..7e9e9498cb 100644
--- a/sysdeps/unix/sysv/linux/mmap64.c
+++ b/sysdeps/unix/sysv/linux/mmap64.c
@@ -28,9 +28,6 @@
 #include "kernel-features.h"
 
 #ifdef __NR_mmap2
-/* We have the system call that takes page number instead of byte address.  */
-extern void *__unbounded __syscall_mmap2 (void *__unbounded, size_t,
-					  int, int, int, off_t);
 
 /* This is always 12, even on architectures where PAGE_SHIFT != 12.  */
 # ifndef MMAP2_PAGE_SHIFT
diff --git a/sysdeps/unix/sysv/linux/poll.c b/sysdeps/unix/sysv/linux/poll.c
index c136c21dbd..4c4868645b 100644
--- a/sysdeps/unix/sysv/linux/poll.c
+++ b/sysdeps/unix/sysv/linux/poll.c
@@ -28,9 +28,6 @@
 
 #if defined __NR_poll || __ASSUME_POLL_SYSCALL > 0
 
-extern int __syscall_poll (struct pollfd *__unbounded fds,
-			   unsigned int nfds, int timeout);
-
 # if __ASSUME_POLL_SYSCALL == 0
 static int __emulate_poll (struct pollfd *fds, nfds_t nfds,
 			   int timeout) internal_function;
diff --git a/sysdeps/unix/sysv/linux/powerpc/Makefile b/sysdeps/unix/sysv/linux/powerpc/Makefile
index 3db246edc5..0263251533 100644
--- a/sysdeps/unix/sysv/linux/powerpc/Makefile
+++ b/sysdeps/unix/sysv/linux/powerpc/Makefile
@@ -1,6 +1 @@
 64bit-predefine = __powerpc64__
-
-ifeq ($(subdir),signal)
-sysdep_routines += rt_sigsuspend rt_sigprocmask rt_sigtimedwait	\
-		   rt_sigqueueinfo rt_sigaction rt_sigpending
-endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/chown.c b/sysdeps/unix/sysv/linux/powerpc/chown.c
index 182c5e787a..4b283e720c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/chown.c
+++ b/sysdeps/unix/sysv/linux/powerpc/chown.c
@@ -31,9 +31,6 @@
   This file emulates chown() under the old kernels.
 */
 
-extern int __syscall_chown (const char *__file __unbounded,
-			    uid_t __owner, gid_t __group);
-
 int
 __chown (const char *file, uid_t owner, gid_t group)
 {
diff --git a/sysdeps/unix/sysv/linux/powerpc/ioctl.c b/sysdeps/unix/sysv/linux/powerpc/ioctl.c
index 7960c8a5ec..aa6d665d08 100644
--- a/sysdeps/unix/sysv/linux/powerpc/ioctl.c
+++ b/sysdeps/unix/sysv/linux/powerpc/ioctl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 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
@@ -25,8 +25,6 @@
 /* The user-visible size of struct termios has changed.  Catch ioctl calls
    using the new-style struct termios, and translate them to old-style.  */
 
-extern int __syscall_ioctl (int fd, unsigned long int request, ...);
-
 int
 __ioctl (int fd, unsigned long int request, ...)
 {
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list b/sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list
index 13f0e9bba9..82025b4855 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list
@@ -1,11 +1,5 @@
 # File name	Caller	Syscall name	# args	Strong name	Weak names
 
 # System calls with wrappers.
-rt_sigaction	-	rt_sigaction	i:ippi	__syscall_rt_sigaction
-rt_sigpending	-	rt_sigpending	i:pi	__syscall_rt_sigpending
-rt_sigprocmask	-	rt_sigprocmask	i:ippi	__syscall_rt_sigprocmask
-rt_sigqueueinfo	-	rt_sigqueueinfo	i:iip	__syscall_rt_sigqueueinfo
-rt_sigsuspend	-	rt_sigsuspend	i:pi	__syscall_rt_sigsuspend
-rt_sigtimedwait	-	rt_sigtimedwait	i:pppi	__syscall_rt_sigtimedwait
 oldgetrlimit	EXTRA	getrlimit	i:ip	__old_getrlimit	getrlimit@GLIBC_2.0
 oldsetrlimit	EXTRA	setrlimit	i:ip	__old_setrlimit	setrlimit@GLIBC_2.0
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list b/sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list
index 7f7c7e8e1d..fc3553bd67 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list
@@ -1,47 +1,4 @@
 # File name	Caller	Syscall name	# args	Strong name	Weak names
 
 # System calls with wrappers.
-s_ioctl		ioctl	ioctl		i:iiI	__syscall_ioctl
-s_ipc		msgget	ipc		i:iiiip	__syscall_ipc
-s_llseek	llseek	_llseek		i:iiipi	__syscall__llseek
-s_readahead	readahead readahead	i:iii	__syscall_readahead
-s_chown		chown	chown		i:sii	__syscall_chown
-s_execve	execve	execve		i:spp	__syscall_execve
-rt_sigaction	-	rt_sigaction	i:ippi	__syscall_rt_sigaction
-rt_sigpending	-	rt_sigpending	i:pi	__syscall_rt_sigpending
-rt_sigprocmask	-	rt_sigprocmask	i:ippi	__syscall_rt_sigprocmask
-rt_sigqueueinfo	-	rt_sigqueueinfo	i:iip	__syscall_rt_sigqueueinfo
-rt_sigsuspend	-	rt_sigsuspend	i:pi	__syscall_rt_sigsuspend
-rt_sigtimedwait	-	rt_sigtimedwait	i:pppi	__syscall_rt_sigtimedwait
-s_fcntl		fcntl 	fcntl		i:iiF	__syscall_fcntl
-s_fcntl64	fcntl64	fcntl64		i:iiF	__syscall_fcntl64
-s_fstat64	fxstat64 fstat64	i:ip	__syscall_fstat64
-s_getcwd	getcwd	getcwd		i:pi	__syscall_getcwd
-s_getdents	getdents getdents	i:ipi	__syscall_getdents
-s_getdents64	getdents getdents64	i:ipi	__syscall_getdents64
-s_getpmsg	getpmsg	getpmsg		i:ipppp	__syscall_getpmsg
-s_getpriority	getpriority getpriority	i:ii	__syscall_getpriority
-s_getrlimit	getrlimit getrlimit	i:ip	__syscall_getrlimit
-s_lstat64	lxstat64 lstat64	i:sp	__syscall_lstat64
-s_mmap2		mmap64	mmap2		b:aniiii __syscall_mmap2
-s_poll		poll	poll		i:pii	__syscall_poll
 posix_fadvise64	-	fadvise64	Vi:iiii	posix_fadvise64	posix_fadvise
-s_ptrace	ptrace	ptrace		i:iipp	__syscall_ptrace
-s_putpmsg	putpmsg	putpmsg		i:ippii	__syscall_putpmsg
-s_reboot	reboot	reboot		i:iii	__syscall_reboot
-s_setrlimit	setrlimit setrlimit	i:ip	__syscall_setrlimit
-s_sigaction	sigaction sigaction	i:ipp	__syscall_sigaction
-s_sigpending	sigpending sigpending	i:p	__syscall_sigpending
-s_sigprocmask	sigprocmask sigprocmask	i:ipp	__syscall_sigprocmask
-s_sigsuspend	sigsuspend sigsuspend	i:iii	__syscall_sigsuspend
-s_stat64	xstat64 stat64		i:sp	__syscall_stat64
-s_sysctl	sysctl	_sysctl		i:p	__syscall__sysctl
-s_ugetrlimit	getrlimit ugetrlimit	i:ip	__syscall_ugetrlimit
-s_ustat		ustat	ustat		i:ip	__syscall_ustat
-s_vfork		vfork	vfork		i:	__syscall_vfork
-sys_fstat	fxstat	fstat		i:ip	__syscall_fstat
-sys_lstat	lxstat	lstat		i:sp	__syscall_lstat
-sys_mknod	xmknod	mknod		i:pii	__syscall_mknod
-sys_readv	readv	readv		i:ipi	__syscall_readv
-sys_stat	xstat	stat		i:sp	__syscall_stat
-sys_writev	writev	writev		i:ipi	__syscall_writev
diff --git a/sysdeps/unix/sysv/linux/pread.c b/sysdeps/unix/sysv/linux/pread.c
index a506c17e95..9e17f1f916 100644
--- a/sysdeps/unix/sysv/linux/pread.c
+++ b/sysdeps/unix/sysv/linux/pread.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,1999,2000,2002,2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -37,10 +37,6 @@
 
 #if defined __NR_pread || __ASSUME_PREAD_SYSCALL > 0
 
-/* The order of hi, lo depends on endianness.  */
-extern ssize_t __syscall_pread (int fd, void *__unbounded buf, size_t count,
-				off_t offset_hi, off_t offset_lo);
-
 # if __ASSUME_PREAD_SYSCALL == 0
 static ssize_t __emulate_pread (int fd, void *buf, size_t count,
 				off_t offset) internal_function;
diff --git a/sysdeps/unix/sysv/linux/pread64.c b/sysdeps/unix/sysv/linux/pread64.c
index 61ff7f5dd4..44ea68fa9f 100644
--- a/sysdeps/unix/sysv/linux/pread64.c
+++ b/sysdeps/unix/sysv/linux/pread64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,1999,2000,2002,2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -36,9 +36,6 @@
 
 #if defined __NR_pread || __ASSUME_PREAD_SYSCALL > 0
 
-extern ssize_t __syscall_pread (int fd, void *__unbounded buf, size_t count,
-				off_t offset_hi, off_t offset_lo);
-
 # if __ASSUME_PREAD_SYSCALL == 0
 static ssize_t __emulate_pread64 (int fd, void *buf, size_t count,
 				  off64_t offset) internal_function;
diff --git a/sysdeps/unix/sysv/linux/ptrace.c b/sysdeps/unix/sysv/linux/ptrace.c
index 15a8731ac7..e33eee0ee8 100644
--- a/sysdeps/unix/sysv/linux/ptrace.c
+++ b/sysdeps/unix/sysv/linux/ptrace.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000,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
@@ -26,9 +26,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern long int __syscall_ptrace (int, pid_t, void *__unbounded,
-				  void *__unbounded);
-
 long int
 ptrace (enum __ptrace_request request, ...)
 {
diff --git a/sysdeps/unix/sysv/linux/pwrite.c b/sysdeps/unix/sysv/linux/pwrite.c
index af4ac362b8..35b6231708 100644
--- a/sysdeps/unix/sysv/linux/pwrite.c
+++ b/sysdeps/unix/sysv/linux/pwrite.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,1999,2000,2002,2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -37,11 +37,6 @@
 
 #if defined __NR_pwrite || __ASSUME_PWRITE_SYSCALL > 0
 
-/* The order of hi, lo depends on endianness.  */
-extern ssize_t __syscall_pwrite (int fd, const void *__unbounded buf,
-				 size_t count, off_t offset_hi,
-				 off_t offset_lo);
-
 # if __ASSUME_PWRITE_SYSCALL == 0
 static ssize_t __emulate_pwrite (int fd, const void *buf, size_t count,
 				 off_t offset) internal_function;
diff --git a/sysdeps/unix/sysv/linux/pwrite64.c b/sysdeps/unix/sysv/linux/pwrite64.c
index 91f48951b0..ae63ed0794 100644
--- a/sysdeps/unix/sysv/linux/pwrite64.c
+++ b/sysdeps/unix/sysv/linux/pwrite64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,1999,2000,2002,2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -36,9 +36,6 @@
 
 #if defined __NR_pwrite || __ASSUME_PWRITE_SYSCALL > 0
 
-extern ssize_t __syscall_pwrite (int fd, const void *__unbounded buf, size_t count,
-				 off_t offset_hi, off_t offset_lo);
-
 # if __ASSUME_PWRITE_SYSCALL == 0
 static ssize_t __emulate_pwrite64 (int fd, const void *buf, size_t count,
 				   off64_t offset) internal_function;
diff --git a/sysdeps/unix/sysv/linux/readahead.c b/sysdeps/unix/sysv/linux/readahead.c
index 33ea7315d5..18e48dafe4 100644
--- a/sysdeps/unix/sysv/linux/readahead.c
+++ b/sysdeps/unix/sysv/linux/readahead.c
@@ -1,5 +1,5 @@
 /* Provide kernel hint to read ahead.
-   Copyright (C) 2002 Free Software Foundation, Inc.
+   Copyright (C) 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
@@ -26,10 +26,6 @@
 
 #ifdef __NR_readahead
 
-extern int __syscall_readahead (int fd, off_t offset_hi, off_t offset_lo,
-				size_t count);
-
-
 ssize_t
 __readahead (int fd, loff_t offset, size_t count)
 {
diff --git a/sysdeps/unix/sysv/linux/readv.c b/sysdeps/unix/sysv/linux/readv.c
index ddf070c358..250c00a075 100644
--- a/sysdeps/unix/sysv/linux/readv.c
+++ b/sysdeps/unix/sysv/linux/readv.c
@@ -1,5 +1,5 @@
 /* readv supports all Linux kernels >= 2.0.
-   Copyright (C) 1997, 1998, 2000, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,2000,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
@@ -26,7 +26,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern ssize_t __syscall_readv (int, __const struct iovec *__unbounded, int);
 static ssize_t __atomic_readv_replacement (int, __const struct iovec *,
 					   int) internal_function;
 
diff --git a/sysdeps/unix/sysv/linux/reboot.c b/sysdeps/unix/sysv/linux/reboot.c
index b97601dab0..e936f0456c 100644
--- a/sysdeps/unix/sysv/linux/reboot.c
+++ b/sysdeps/unix/sysv/linux/reboot.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 1999, 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
@@ -22,8 +22,6 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-extern int __syscall_reboot (int magic, int magic_too, int flag);
-
 /* Call kernel with additional two arguments the syscall requires.  */
 int
 reboot (int howto)
diff --git a/sysdeps/unix/sysv/linux/rt_sigaction.c b/sysdeps/unix/sysv/linux/rt_sigaction.c
deleted file mode 100644
index db59a2fc08..0000000000
--- a/sysdeps/unix/sysv/linux/rt_sigaction.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 1997 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 <errno.h>
-#include <signal.h>
-
-int
-__syscall_rt_sigaction (int sig, const struct sigaction *act,
-			struct sigaction *oact, size_t setsize)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
diff --git a/sysdeps/unix/sysv/linux/rt_sigpending.c b/sysdeps/unix/sysv/linux/rt_sigpending.c
deleted file mode 100644
index 2504731f21..0000000000
--- a/sysdeps/unix/sysv/linux/rt_sigpending.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 1997 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 <errno.h>
-#include <signal.h>
-
-int
-__syscall_rt_sigpending (sigset_t *set, size_t setsize)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
diff --git a/sysdeps/unix/sysv/linux/rt_sigprocmask.c b/sysdeps/unix/sysv/linux/rt_sigprocmask.c
deleted file mode 100644
index dedd1e4c8a..0000000000
--- a/sysdeps/unix/sysv/linux/rt_sigprocmask.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 1997 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 <errno.h>
-#include <signal.h>
-
-int
-__syscall_rt_sigprocmask (int how, const sigset_t *set, sigset_t *oset,
-			  size_t setsize)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
diff --git a/sysdeps/unix/sysv/linux/rt_sigqueueinfo.c b/sysdeps/unix/sysv/linux/rt_sigqueueinfo.c
deleted file mode 100644
index 6257439eef..0000000000
--- a/sysdeps/unix/sysv/linux/rt_sigqueueinfo.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 1997 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 <errno.h>
-#include <signal.h>
-#include <sys/types.h>
-
-int
-__syscall_rt_sigqueueinfo (pid_t pid, int sig, siginfo_t *uinfo)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
diff --git a/sysdeps/unix/sysv/linux/rt_sigreturn.c b/sysdeps/unix/sysv/linux/rt_sigreturn.c
deleted file mode 100644
index 3f087e28e9..0000000000
--- a/sysdeps/unix/sysv/linux/rt_sigreturn.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 1997 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 <errno.h>
-#include <signal.h>
-
-int
-__syscall_rt_sigreturn (struct sigcontext *ctx)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
diff --git a/sysdeps/unix/sysv/linux/rt_sigsuspend.c b/sysdeps/unix/sysv/linux/rt_sigsuspend.c
deleted file mode 100644
index ffeb4f03e5..0000000000
--- a/sysdeps/unix/sysv/linux/rt_sigsuspend.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1997, 1998 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 <errno.h>
-#include <signal.h>
-#define __need_NULL
-#include <stddef.h>
-
-int
-__syscall_rt_sigsuspend (const sigset_t *set, size_t setsize)
-{
-  if (set == NULL)
-    {
-      __set_errno (EINVAL);
-      return -1;
-    }
-
-  __set_errno (ENOSYS);
-  return -1;
-}
diff --git a/sysdeps/unix/sysv/linux/rt_sigtimedwait.c b/sysdeps/unix/sysv/linux/rt_sigtimedwait.c
deleted file mode 100644
index ea3a7dbf72..0000000000
--- a/sysdeps/unix/sysv/linux/rt_sigtimedwait.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 1997, 1998 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 <errno.h>
-#include <signal.h>
-#define __need_NULL
-#include <stddef.h>
-
-int
-__syscall_rt_sigtimedwait (const sigset_t *set, siginfo_t *info,
-			   const struct timespec *timeout, size_t setsize)
-{
-  if (set == NULL)
-    {
-      __set_errno (EINVAL);
-      return -1;
-    }
-
-  __set_errno (ENOSYS);
-  return -1;
-}
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/chown.c b/sysdeps/unix/sysv/linux/s390/s390-32/chown.c
index 4f9a0c01a7..1c7b7abc50 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/chown.c
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/chown.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 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
@@ -37,14 +37,9 @@
   has therefore to route calls to chown to the old chown function.
 */
 
-extern int __syscall_chown (const char *__file,
-			    __kernel_uid_t __owner, __kernel_gid_t __group);
-
 /* Running under Linux > 2.1.80.  */
 
 #ifdef __NR_chown32
-extern int __syscall_chown32 (const char *__file,
-			      __kernel_uid32_t owner, __kernel_gid32_t group);
 # if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/lchown.c b/sysdeps/unix/sysv/linux/s390/s390-32/lchown.c
index afca3e5214..ccdb67b15c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/lchown.c
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/lchown.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 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
@@ -26,13 +26,7 @@
 #include <linux/posix_types.h>
 #include "kernel-features.h"
 
-extern int __syscall_lchown (const char *__unbounded __file,
-			     __kernel_uid_t __owner, __kernel_gid_t __group);
-
 # ifdef __NR_lchown32
-extern int __syscall_lchown32 (const char *__unbounded __file,
-			       __kernel_uid32_t __owner,
-			       __kernel_gid32_t __group);
 #  if __ASSUME_32BITUIDS == 0
 /* This variable is shared with all files that need to check for 32bit
    uids.  */
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c b/sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c
index 95ed437943..3a7aa1ca6f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c
@@ -1,5 +1,5 @@
 /* fxstat using old-style Unix fstat system call.  64 bit S/390 version.
-   Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+   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
@@ -28,8 +28,6 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-extern int __syscall_fstat (int, struct stat *);
-
 /* Get information about the file FD in BUF.  */
 int
 __fxstat (int vers, int fd, struct stat *buf)
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c b/sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c
index 3bcc4bede0..71d6441619 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c
@@ -1,5 +1,5 @@
 /* lxstat using old-style Unix fstat system call.  64 bit S/390 version.
-   Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+   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
@@ -28,8 +28,6 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-extern int __syscall_lstat (const char *, struct stat *);
-
 /* Get information about the file FD in BUF.  */
 int
 __lxstat (int vers, const char *name, struct stat *buf)
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c b/sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c
index cba9f677e0..480ebd424c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c
@@ -26,9 +26,6 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-extern int __syscall_rt_sigaction (int, const struct sigaction *,
-				   struct sigaction *, size_t);
-
 /* The variable is shared between all wrappers around signal handling
    functions which have RT equivalents.  This is the definition.  */
 
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c b/sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c
index 44483112c4..8086874360 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 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
@@ -26,9 +26,6 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-extern int __syscall_rt_sigpending (sigset_t *, size_t);
-
-
 /* Change the set of blocked signals to SET,
    wait until a signal arrives, and restore the set of blocked signals.  */
 int
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c b/sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c
index 4fd873acf3..a6dd9159ae 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 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
@@ -26,9 +26,6 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-extern int __syscall_rt_sigprocmask (int, const sigset_t *,
-				     sigset_t *, size_t);
-
 /* Get and/or change the set of blocked signals.  */
 int
 __sigprocmask (how, set, oset)
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c b/sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c
index f5e8de3160..452f8354d0 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c
@@ -23,9 +23,6 @@
 #include <sysdep-cancel.h>
 #include <sys/syscall.h>
 
-extern int __syscall_rt_sigsuspend (const sigset_t *, size_t);
-
-
 /* Change the set of blocked signals to SET,
    wait until a signal arrives, and restore the set of blocked signals.  */
 int
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list b/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
index e114994c0d..4c97417832 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
@@ -45,10 +45,3 @@ setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
 shutdown	-	shutdown	i:ii	__shutdown	shutdown
 socket		-	socket		i:iii	__socket	socket
 socketpair	-	socketpair	i:iiif	__socketpair	socketpair
-
-rt_sigaction	EXTRA	rt_sigaction	i:ippi	__syscall_rt_sigaction		rt_sigaction
-rt_sigpending	EXTRA	rt_sigpending	i:pi	__syscall_rt_sigpending		rt_sigpending
-rt_sigprocmask	EXTRA	rt_sigprocmask	i:ippi	__syscall_rt_sigprocmask	rt_sigprocmask
-rt_sigqueueinfo	EXTRA	rt_sigqueueinfo	i:iip	__syscall_rt_sigqueueinfo	rt_sigqueueinfo
-rt_sigsuspend	EXTRA	rt_sigsuspend	i:pi	__syscall_rt_sigsuspend		rt_sigsuspend
-rt_sigtimedwait	EXTRA	rt_sigtimedwait	i:pppi	__syscall_rt_sigtimedwait	rt_sigtimedwait
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/xstat.c b/sysdeps/unix/sysv/linux/s390/s390-64/xstat.c
index 9283dd8b51..50b459bb5f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/xstat.c
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/xstat.c
@@ -1,5 +1,5 @@
 /* xstat using old-style Unix stat system call.  64 bit S/390 version.
-   Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+   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
@@ -28,8 +28,6 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-extern int __syscall_stat (const char *, struct stat *);
-
 /* Get information about the file NAME in BUF.  */
 int
 __xstat (int vers, const char *name, struct stat *buf)
diff --git a/sysdeps/unix/sysv/linux/s_pread64.c b/sysdeps/unix/sysv/linux/s_pread64.c
deleted file mode 100644
index d1aefa3fd4..0000000000
--- a/sysdeps/unix/sysv/linux/s_pread64.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
-
-   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 <errno.h>
-#include <unistd.h>
-
-/* This file is used if no system call is available.  */
-ssize_t
-__syscall_pread64 (int fd, char *buf, size_t count,
-		   off_t offset_hi, off_t offset_lo)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
diff --git a/sysdeps/unix/sysv/linux/s_pwrite64.c b/sysdeps/unix/sysv/linux/s_pwrite64.c
deleted file mode 100644
index 873b572e0f..0000000000
--- a/sysdeps/unix/sysv/linux/s_pwrite64.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
-
-   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 <errno.h>
-#include <unistd.h>
-
-/* This file is used if no system call is available.  */
-ssize_t
-__syscall_pwrite64 (int fd, const char *buf, size_t count,
-		    off_t offset_hi, off_t offset_lo)
-{
-  __set_errno (ENOSYS);
-  return -1;
-}
diff --git a/sysdeps/unix/sysv/linux/sh/Makefile b/sysdeps/unix/sysv/linux/sh/Makefile
index 59754ca40d..e8544b5dc6 100644
--- a/sysdeps/unix/sysv/linux/sh/Makefile
+++ b/sysdeps/unix/sysv/linux/sh/Makefile
@@ -5,8 +5,3 @@ endif
 ifeq ($(subdir),misc)
 sysdep_headers += sys/io.h
 endif
-
-ifeq ($(subdir),signal)
-sysdep_routines += rt_sigsuspend rt_sigprocmask rt_sigtimedwait	\
-		   rt_sigqueueinfo rt_sigaction rt_sigpending
-endif
diff --git a/sysdeps/unix/sysv/linux/sigaction.c b/sysdeps/unix/sysv/linux/sigaction.c
index 2395abefb3..91c37824bc 100644
--- a/sysdeps/unix/sysv/linux/sigaction.c
+++ b/sysdeps/unix/sysv/linux/sigaction.c
@@ -34,12 +34,7 @@
 /* The variable is shared between all wrappers around signal handling
    functions which have RT equivalents.  This is the definition.  */
 int __libc_missing_rt_sigs;
-
-extern int __syscall_sigaction (int, const struct old_kernel_sigaction *__unbounded,
-				struct old_kernel_sigaction *__unbounded);
 #endif
-extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *__unbounded,
-				   struct kernel_sigaction *__unbounded, size_t);
 
 
 /* If ACT is not NULL, change the action for SIG to *ACT.
diff --git a/sysdeps/unix/sysv/linux/sigpending.c b/sysdeps/unix/sysv/linux/sigpending.c
index a5404e5e6b..c19da4c764 100644
--- a/sysdeps/unix/sysv/linux/sigpending.c
+++ b/sysdeps/unix/sysv/linux/sigpending.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 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
@@ -26,9 +26,6 @@
 
 #include "kernel-features.h"
 
-extern int __syscall_sigpending (sigset_t *__unbounded);
-extern int __syscall_rt_sigpending (sigset_t *__unbounded, size_t);
-
 
 /* The variable is shared between all wrappers around signal handling
    functions which have RT equivalents.  The definition is in sigaction.c.  */
diff --git a/sysdeps/unix/sysv/linux/sigprocmask.c b/sysdeps/unix/sysv/linux/sigprocmask.c
index db8986aafb..7c4e4c6df1 100644
--- a/sysdeps/unix/sysv/linux/sigprocmask.c
+++ b/sysdeps/unix/sysv/linux/sigprocmask.c
@@ -27,11 +27,6 @@
 #include "kernel-features.h"
 
 
-extern int __syscall_sigprocmask (int, const sigset_t *__unbounded,
-				  sigset_t *__unbounded);
-extern int __syscall_rt_sigprocmask (int, const sigset_t *__unbounded,
-				     sigset_t *__unbounded, size_t);
-
 /* The variable is shared between all wrappers around signal handling
    functions which have RT equivalents.  The definition is in sigaction.c.  */
 extern int __libc_missing_rt_sigs;
diff --git a/sysdeps/unix/sysv/linux/sigqueue.c b/sysdeps/unix/sysv/linux/sigqueue.c
index 937811771b..337f886257 100644
--- a/sysdeps/unix/sysv/linux/sigqueue.c
+++ b/sysdeps/unix/sysv/linux/sigqueue.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2000, 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
@@ -24,8 +24,6 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-extern int __syscall_rt_sigqueueinfo (int, int, siginfo_t *__unbounded);
-
 #ifdef __NR_rt_sigqueueinfo
 /* Return any pending signal or wait for one for the given time.  */
 int
diff --git a/sysdeps/unix/sysv/linux/sigsuspend.c b/sysdeps/unix/sysv/linux/sigsuspend.c
index 71c2baeda5..0cf8d5083c 100644
--- a/sysdeps/unix/sysv/linux/sigsuspend.c
+++ b/sysdeps/unix/sysv/linux/sigsuspend.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 1999, 2000, 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
@@ -26,9 +27,6 @@
 
 #include "kernel-features.h"
 
-extern int __syscall_sigsuspend (int, unsigned long int, unsigned long int);
-extern int __syscall_rt_sigsuspend (const sigset_t *__unbounded, size_t);
-
 
 #if !__ASSUME_REALTIME_SIGNALS
 /* The variable is shared between all wrappers around signal handling
diff --git a/sysdeps/unix/sysv/linux/sigtimedwait.c b/sysdeps/unix/sysv/linux/sigtimedwait.c
index 34e986a6af..1705cb10bd 100644
--- a/sysdeps/unix/sysv/linux/sigtimedwait.c
+++ b/sysdeps/unix/sysv/linux/sigtimedwait.c
@@ -25,9 +25,6 @@
 #include <bp-checks.h>
 
 #ifdef __NR_rt_sigtimedwait
-extern int __syscall_rt_sigtimedwait (const sigset_t *__unbounded, siginfo_t *__unbounded,
-				      const struct timespec *__unbounded, size_t);
-
 
 static int
 do_sigtimedwait (const sigset_t *set, siginfo_t *info,
diff --git a/sysdeps/unix/sysv/linux/sigwait.c b/sysdeps/unix/sysv/linux/sigwait.c
index e92061d215..f755928493 100644
--- a/sysdeps/unix/sysv/linux/sigwait.c
+++ b/sysdeps/unix/sysv/linux/sigwait.c
@@ -27,9 +27,6 @@
 #include <bp-checks.h>
 
 #ifdef __NR_rt_sigtimedwait
-extern int __syscall_rt_sigtimedwait (const sigset_t *__unbounded, siginfo_t *__unbounded,
-				      const struct timespec *__unbounded, size_t);
-
 
 /* Return any pending signal or wait for one for the given time.  */
 static int
diff --git a/sysdeps/unix/sysv/linux/sigwaitinfo.c b/sysdeps/unix/sysv/linux/sigwaitinfo.c
index 73c20d1115..a2dec820fc 100644
--- a/sysdeps/unix/sysv/linux/sigwaitinfo.c
+++ b/sysdeps/unix/sysv/linux/sigwaitinfo.c
@@ -27,9 +27,6 @@
 #include <bp-checks.h>
 
 #ifdef __NR_rt_sigtimedwait
-extern int __syscall_rt_sigtimedwait (const sigset_t *__unbounded, siginfo_t *__unbounded,
-				      const struct timespec *__unbounded, size_t);
-
 
 static int
 do_sigwaitinfo (const sigset_t *set, siginfo_t *info)
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c
index cd4480b5f3..016a28534d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 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
@@ -24,9 +24,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_rt_sigpending (sigset_t *__unbounded, size_t);
-
-
 /* Change the set of blocked signals to SET,
    wait until a signal arrives, and restore the set of blocked signals.  */
 int
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c
index d38506dbd5..d077b9be4e 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 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
@@ -24,9 +24,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_rt_sigprocmask (int, const sigset_t *__unbounded,
-				     sigset_t *__unbounded, size_t);
-
 /* Get and/or change the set of blocked signals.  */
 int
 __sigprocmask (how, set, oset)
diff --git a/sysdeps/unix/sysv/linux/sysctl.c b/sysdeps/unix/sysv/linux/sysctl.c
index ee5b30a7b0..7e601acf2c 100644
--- a/sysdeps/unix/sysv/linux/sysctl.c
+++ b/sysdeps/unix/sysv/linux/sysctl.c
@@ -1,5 +1,5 @@
 /* Read or write system information.  Linux version.
-   Copyright (C) 1996-1999, 2000, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1996-1999, 2000, 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
@@ -24,8 +24,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall__sysctl (struct __sysctl_args *__unbounded args);
-
 int
 __sysctl (int *name, int nlen, void *oldval, size_t *oldlenp,
 	  void *newval, size_t newlen)
diff --git a/sysdeps/unix/sysv/linux/truncate64.c b/sysdeps/unix/sysv/linux/truncate64.c
index fc879cf5a9..764e808386 100644
--- a/sysdeps/unix/sysv/linux/truncate64.c
+++ b/sysdeps/unix/sysv/linux/truncate64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 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
@@ -33,10 +33,6 @@
 int __have_no_truncate64;
 #endif
 
-/* The order of hight, low depends on endianness.  */
-extern int __syscall_truncate64 (const char *__unbounded path,
-				 int high_length, int low_length);
-
 /* Truncate the file FD refers to to LENGTH bytes.  */
 int
 truncate64 (const char *path, off64_t length)
diff --git a/sysdeps/unix/sysv/linux/ustat.c b/sysdeps/unix/sysv/linux/ustat.c
index af85f68776..5ffd76511f 100644
--- a/sysdeps/unix/sysv/linux/ustat.c
+++ b/sysdeps/unix/sysv/linux/ustat.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -25,8 +25,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_ustat (unsigned short int, struct ustat *__unbounded);
-
 int
 ustat (dev_t dev, struct ustat *ubuf)
 {
diff --git a/sysdeps/unix/sysv/linux/writev.c b/sysdeps/unix/sysv/linux/writev.c
index c8ecf5060f..05978665fa 100644
--- a/sysdeps/unix/sysv/linux/writev.c
+++ b/sysdeps/unix/sysv/linux/writev.c
@@ -1,5 +1,5 @@
 /* writev supports all Linux kernels >= 2.0.
-   Copyright (C) 1997, 1998, 2000, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 2000, 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
@@ -26,7 +26,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern ssize_t __syscall_writev (int, const struct iovec *__unbounded, int);
 static ssize_t __atomic_writev_replacement (int, const struct iovec *,
 					    int) internal_function;
 
diff --git a/sysdeps/unix/sysv/linux/x86_64/sigaction.c b/sysdeps/unix/sysv/linux/x86_64/sigaction.c
index 48cb447859..9123047092 100644
--- a/sysdeps/unix/sysv/linux/x86_64/sigaction.c
+++ b/sysdeps/unix/sysv/linux/x86_64/sigaction.c
@@ -36,9 +36,6 @@
 /* We do not globally define the SA_RESTORER flag so do it here.  */
 #define SA_RESTORER 0x04000000
 
-extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *__unbounded,
-				   struct kernel_sigaction *__unbounded, size_t);
-
 /* Using the hidden attribute here does not change the code but it
    helps to avoid warnings.  */
 #if defined HAVE_HIDDEN && defined HAVE_VISIBILITY_ATTRIBUTE \
diff --git a/sysdeps/unix/sysv/linux/xmknod.c b/sysdeps/unix/sysv/linux/xmknod.c
index e79d0e3149..210c55e943 100644
--- a/sysdeps/unix/sysv/linux/xmknod.c
+++ b/sysdeps/unix/sysv/linux/xmknod.c
@@ -1,5 +1,6 @@
 /* xmknod call using old-style Unix mknod system call.
-   Copyright (C) 1991,93,95,96,97,98,2000,2002 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1993, 1995, 1996, 1997, 1998, 2000, 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
@@ -26,9 +27,6 @@
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
-extern int __syscall_mknod (const char *__unbounded, unsigned short int,
-			    unsigned short int);
-
 /* Create a device file named PATH, with permission and special bits MODE
    and device number DEV (which can be constructed from major and minor
    device numbers with the `makedev' macro above).  */
diff --git a/sysdeps/unix/sysv/linux/xstat64.c b/sysdeps/unix/sysv/linux/xstat64.c
index 803aeb3104..9e5110657a 100644
--- a/sysdeps/unix/sysv/linux/xstat64.c
+++ b/sysdeps/unix/sysv/linux/xstat64.c
@@ -32,12 +32,7 @@
 # include <xstatconv.h>
 #endif
 
-extern int __syscall_stat (const char *__unbounded,
-			   struct kernel_stat *__unbounded);
-
 #ifdef __NR_stat64
-extern int __syscall_stat64 (const char *__unbounded,
-			     struct stat64 *__unbounded);
 # if  __ASSUME_STAT64_SYSCALL == 0
 /* The variable is shared between all wrappers around *stat64 calls.
    This is the definition.  */