aboutsummaryrefslogtreecommitdiff
path: root/nptl/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-12-15 01:00:22 +0000
committerUlrich Drepper <drepper@redhat.com>2002-12-15 01:00:22 +0000
commit86b2dc4072725edb69ec4b872f9fcd17a4554b74 (patch)
treefcc7abb285572b9e539af7b4c324806a0364daf2 /nptl/sysdeps
parent9d263d72848fb561e104a21da3ffccf791078f2a (diff)
downloadglibc-86b2dc4072725edb69ec4b872f9fcd17a4554b74.tar
glibc-86b2dc4072725edb69ec4b872f9fcd17a4554b74.tar.gz
glibc-86b2dc4072725edb69ec4b872f9fcd17a4554b74.tar.bz2
glibc-86b2dc4072725edb69ec4b872f9fcd17a4554b74.zip
Update.
* sysdeps/generic/sysdep-cancel.h: New file. * sysdeps/unix/make-syscalls.sh: Handle C at start of args as cancelable syscall. * sysdeps/unix/inet/syscalls.list (accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Make cancelable. * sysdeps/unix/mman/syscalls.list (msync): Likewise. * sysdeps/unix/sysv/linux/alpha/syscalls.list (llseek, pread, pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto, osf_select): Likewise. * sysdeps/unix/sysv/linux/hppa/syscalls.list (accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list (llseek, pread, pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/mips/syscalls.list (accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (llseek, pread, pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (llseek, pread, pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, sendto, select): Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list (llseek, pread, pwrite, accept, connect, recvfrom, recvmsg, sendmsg, sendto): Likewise. * sysdeps/unix/sysv/linux/syscalls.list (creat, nanosleep, pause, select, fcntl): Likewise. * sysdeps/unix/sysv/syscalls.list (pause, poll): Likewise. * sysdeps/unix/syscalls.list (close, fcntl, fsync, lseek, open, read, readv, select, sigsuspend, write, writev): Likewise. 2002-12-14 Jakub Jelinek <jakub@redhat.com>
Diffstat (limited to 'nptl/sysdeps')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/close.c49
-rw-r--r--nptl/sysdeps/unix/sysv/linux/creat.c57
-rw-r--r--nptl/sysdeps/unix/sysv/linux/fsync.c47
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h70
-rw-r--r--nptl/sysdeps/unix/sysv/linux/lseek.c48
-rw-r--r--nptl/sysdeps/unix/sysv/linux/msync.c47
-rw-r--r--nptl/sysdeps/unix/sysv/linux/nanosleep.c48
-rw-r--r--nptl/sysdeps/unix/sysv/linux/open.c62
-rw-r--r--nptl/sysdeps/unix/sysv/linux/pause.c47
-rw-r--r--nptl/sysdeps/unix/sysv/linux/read.c50
-rw-r--r--nptl/sysdeps/unix/sysv/linux/select.c57
-rw-r--r--nptl/sysdeps/unix/sysv/linux/write.c50
12 files changed, 70 insertions, 562 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/close.c b/nptl/sysdeps/unix/sysv/linux/close.c
deleted file mode 100644
index e5cac953f3..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/close.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
- 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 <stdlib.h>
-#include <sysdep.h>
-#include <unistd.h>
-#include <nptl/pthreadP.h>
-#include <tls.h>
-
-
-int
-__libc_close (int fd)
-{
-#ifndef NOT_IN_libc
- if (__builtin_expect (THREAD_GETMEM (THREAD_SELF,
- header.data.multiple_threads) == 0, 1))
- return INLINE_SYSCALL (close, 1, fd);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-#endif
-
- int result = INLINE_SYSCALL (close, 1, fd);
-
-#ifndef NOT_IN_libc
- LIBC_CANCEL_RESET (oldtype);
-#endif
-
- return result;
-}
-strong_alias (__libc_close, __close)
-libc_hidden_weak (__close)
-weak_alias (__libc_close, close)
diff --git a/nptl/sysdeps/unix/sysv/linux/creat.c b/nptl/sysdeps/unix/sysv/linux/creat.c
deleted file mode 100644
index c21c8bb9a4..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/creat.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
- 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 <fcntl.h>
-#include <stdlib.h>
-#include <sysdep.h>
-#include <unistd.h>
-#include <nptl/pthreadP.h>
-#include <tls.h>
-
-
-int
-creat (const char *pathname, mode_t mode)
-{
-#ifndef NOT_IN_libc
- if (__builtin_expect (THREAD_GETMEM (THREAD_SELF,
- header.data.multiple_threads) == 0, 1))
- {
-#ifdef __NR_creat
- return INLINE_SYSCALL (creat, 2, pathname, mode);
-#else
- return __libc_open (pathname, O_WRONLY|O_CREAT|O_TRUNC, mode);
-#endif
- }
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-#endif
-
-#ifdef __NR_creat
- int result = INLINE_SYSCALL (creat, 2, pathname, mode);
-#else
- int result = __libc_open (pathname, O_WRONLY|O_CREAT|O_TRUNC, mode);
-#endif
-
-#ifndef NOT_IN_libc
- LIBC_CANCEL_RESET (oldtype);
-#endif
-
- return result;
-}
diff --git a/nptl/sysdeps/unix/sysv/linux/fsync.c b/nptl/sysdeps/unix/sysv/linux/fsync.c
deleted file mode 100644
index b132a75ee9..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/fsync.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
- 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 <stdlib.h>
-#include <sysdep.h>
-#include <unistd.h>
-#include <nptl/pthreadP.h>
-#include <tls.h>
-
-
-int
-__libc_fsync (int fd)
-{
-#ifndef NOT_IN_libc
- if (__builtin_expect (THREAD_GETMEM (THREAD_SELF,
- header.data.multiple_threads) == 0, 1))
- return INLINE_SYSCALL (fsync, 1, fd);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-#endif
-
- int result = INLINE_SYSCALL (fsync, 1, fd);
-
-#ifndef NOT_IN_libc
- LIBC_CANCEL_RESET (oldtype);
-#endif
-
- return result;
-}
-weak_alias (__libc_fsync, fsync)
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
new file mode 100644
index 0000000000..ed9f9420e7
--- /dev/null
+++ b/nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
@@ -0,0 +1,70 @@
+/* Copyright (C) 2002 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
+
+ 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 <sysdep.h>
+#include <tls.h>
+
+#if !defined NOT_IN_libc || defined IS_IN_libpthread
+
+#undef PSEUDO
+#define PSEUDO(name, syscall_name, args) \
+ .text; \
+ ENTRY (name) \
+ cmpl $0, %gs:MULTIPLE_THREADS_OFFSET; \
+ jne L(pseudo_cancel); \
+ DO_CALL (syscall_name, args); \
+ cmpl $-4095, %eax; \
+ jae SYSCALL_ERROR_LABEL; \
+ ret; \
+ L(pseudo_cancel): \
+ call __libc_enable_asynccancel; \
+ SAVE_OLDTYPE_##args \
+ PUSHARGS_##args \
+ DOCARGS_##args \
+ movl $SYS_ify (syscall_name), %eax; \
+ int $0x80 \
+ POPARGS_##args; \
+ POPCARGS_##args \
+ cmpl $-4095, %eax; \
+ jae SYSCALL_ERROR_LABEL; \
+ L(pseudo_end):
+
+#define SAVE_OLDTYPE_0 movl %eax, %ecx;
+#define SAVE_OLDTYPE_1 SAVE_OLDTYPE_0
+#define SAVE_OLDTYPE_2 pushl %eax;
+#define SAVE_OLDTYPE_3 SAVE_OLDTYPE_2
+#define SAVE_OLDTYPE_4 SAVE_OLDTYPE_2
+#define SAVE_OLDTYPE_5 SAVE_OLDTYPE_2
+
+#define DOCARGS_0 DOARGS_0
+#define DOCARGS_1 DOARGS_1
+#define DOCARGS_2 _DOARGS_2 (12)
+#define DOCARGS_3 _DOARGS_3 (20)
+#define DOCARGS_4 _DOARGS_4 (28)
+#define DOCARGS_5 _DOARGS_5 (36)
+
+#define DISABLE call __libc_disable_asynccancel
+#define POPCARGS_0 pushl %eax; movl %ecx, %eax; DISABLE; popl %eax;
+#define POPCARGS_1 POPCARGS_0
+#define POPCARGS_2 xchgl (%esp), %eax; DISABLE; popl %eax;
+#define POPCARGS_3 POPCARGS_2
+#define POPCARGS_4 POPCARGS_2
+#define POPCARGS_5 POPCARGS_2
+
+#endif
diff --git a/nptl/sysdeps/unix/sysv/linux/lseek.c b/nptl/sysdeps/unix/sysv/linux/lseek.c
deleted file mode 100644
index 5229216122..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/lseek.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
- 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 <stdlib.h>
-#include <sysdep.h>
-#include <unistd.h>
-#include <nptl/pthreadP.h>
-#include <tls.h>
-
-
-off_t
-__libc_lseek (int fd, off_t offset, int whence)
-{
-#ifndef NOT_IN_libc
- if (__builtin_expect (THREAD_GETMEM (THREAD_SELF,
- header.data.multiple_threads) == 0, 1))
- return INLINE_SYSCALL (lseek, 3, fd, offset, whence);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-#endif
-
- off_t result = INLINE_SYSCALL (lseek, 3, fd, offset, whence);
-
-#ifndef NOT_IN_libc
- LIBC_CANCEL_RESET (oldtype);
-#endif
-
- return result;
-}
-strong_alias (__libc_lseek, __lseek)
-weak_alias (__libc_lseek, lseek)
diff --git a/nptl/sysdeps/unix/sysv/linux/msync.c b/nptl/sysdeps/unix/sysv/linux/msync.c
deleted file mode 100644
index 9edd56c024..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/msync.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
- 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 <stdlib.h>
-#include <sysdep.h>
-#include <sys/mman.h>
-#include <nptl/pthreadP.h>
-#include <tls.h>
-
-
-int
-__libc_msync (void *start, size_t length, int flags)
-{
-#ifndef NOT_IN_libc
- if (__builtin_expect (THREAD_GETMEM (THREAD_SELF,
- header.data.multiple_threads) == 0, 1))
- return INLINE_SYSCALL (msync, 3, start, length, flags);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-#endif
-
- int result = INLINE_SYSCALL (msync, 3, start, length, flags);
-
-#ifndef NOT_IN_libc
- LIBC_CANCEL_RESET (oldtype);
-#endif
-
- return result;
-}
-weak_alias (__libc_msync, msync)
diff --git a/nptl/sysdeps/unix/sysv/linux/nanosleep.c b/nptl/sysdeps/unix/sysv/linux/nanosleep.c
deleted file mode 100644
index d43f9eb9da..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/nanosleep.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
- 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 <stdlib.h>
-#include <sysdep.h>
-#include <time.h>
-#include <nptl/pthreadP.h>
-#include <tls.h>
-
-
-int
-__libc_nanosleep (const struct timespec *req, struct timespec *rem)
-{
-#ifndef NOT_IN_libc
- if (__builtin_expect (THREAD_GETMEM (THREAD_SELF,
- header.data.multiple_threads) == 0, 1))
- return INLINE_SYSCALL (nanosleep, 2, req, rem);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-#endif
-
- int result = INLINE_SYSCALL (nanosleep, 2, req, rem);
-
-#ifndef NOT_IN_libc
- LIBC_CANCEL_RESET (oldtype);
-#endif
-
- return result;
-}
-strong_alias (__libc_nanosleep, __nanosleep)
-weak_alias (__libc_nanosleep, nanosleep)
diff --git a/nptl/sysdeps/unix/sysv/linux/open.c b/nptl/sysdeps/unix/sysv/linux/open.c
deleted file mode 100644
index f0f95c1b60..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/open.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
- 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 <fcntl.h>
-#include <stdlib.h>
-#include <sysdep.h>
-#include <stdarg.h>
-#include <unistd.h>
-#include <nptl/pthreadP.h>
-#include <tls.h>
-
-
-int
-__libc_open (const char *file, int oflag, ...)
-{
- int mode = 0;
-
- if (oflag & O_CREAT)
- {
- va_list arg;
- va_start (arg, oflag);
- mode = va_arg (arg, int);
- va_end (arg);
- }
-
-#ifndef NOT_IN_libc
- if (__builtin_expect (THREAD_GETMEM (THREAD_SELF,
- header.data.multiple_threads) == 0, 1))
- return INLINE_SYSCALL (open, 3, file, oflag, mode);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-#endif
-
- int result = INLINE_SYSCALL (open, 3, file, oflag, mode);
-
-#ifndef NOT_IN_libc
- LIBC_CANCEL_RESET (oldtype);
-#endif
-
- return result;
-}
-libc_hidden_def (__libc_open)
-strong_alias (__libc_open, __open)
-libc_hidden_weak (__open)
-weak_alias (__libc_open, open)
diff --git a/nptl/sysdeps/unix/sysv/linux/pause.c b/nptl/sysdeps/unix/sysv/linux/pause.c
deleted file mode 100644
index 6348974031..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/pause.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
- 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 <stdlib.h>
-#include <sysdep.h>
-#include <unistd.h>
-#include <nptl/pthreadP.h>
-#include <tls.h>
-
-
-int
-__libc_pause (void)
-{
-#ifndef NOT_IN_libc
- if (__builtin_expect (THREAD_GETMEM (THREAD_SELF,
- header.data.multiple_threads) == 0, 1))
- return INLINE_SYSCALL (pause, 0);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-#endif
-
- int result = INLINE_SYSCALL (pause, 0);
-
-#ifndef NOT_IN_libc
- LIBC_CANCEL_RESET (oldtype);
-#endif
-
- return result;
-}
-weak_alias (__libc_pause, pause)
diff --git a/nptl/sysdeps/unix/sysv/linux/read.c b/nptl/sysdeps/unix/sysv/linux/read.c
deleted file mode 100644
index ea04002023..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/read.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
- 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 <stdlib.h>
-#include <sysdep.h>
-#include <unistd.h>
-#include <nptl/pthreadP.h>
-#include <tls.h>
-
-
-ssize_t
-__libc_read (int fd, void *buf, size_t count)
-{
-#ifndef NOT_IN_libc
- if (__builtin_expect (THREAD_GETMEM (THREAD_SELF,
- header.data.multiple_threads) == 0, 1))
- return INLINE_SYSCALL (read, 3, fd, buf, count);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-#endif
-
- ssize_t result = INLINE_SYSCALL (read, 3, fd, buf, count);
-
-#ifndef NOT_IN_libc
- LIBC_CANCEL_RESET (oldtype);
-#endif
-
- return result;
-}
-libc_hidden_def (__libc_read)
-strong_alias (__libc_read, __read)
-libc_hidden_weak (__read)
-weak_alias (__libc_read, read)
diff --git a/nptl/sysdeps/unix/sysv/linux/select.c b/nptl/sysdeps/unix/sysv/linux/select.c
deleted file mode 100644
index b1c46595be..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/select.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
- 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 <stdlib.h>
-#include <sysdep.h>
-#include <sys/select.h>
-#include <nptl/pthreadP.h>
-#include <tls.h>
-
-#ifdef __NR__newselect
-# undef __NR_select
-# define __NR_select __NR__newselect
-#endif
-
-
-int
-__libc_select (int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
- struct timeval *timeout)
-{
-#ifndef NOT_IN_libc
- if (__builtin_expect (THREAD_GETMEM (THREAD_SELF,
- header.data.multiple_threads) == 0, 1))
- return INLINE_SYSCALL (select, 5, n, readfds, writefds, exceptfds,
- timeout);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-#endif
-
- int result = INLINE_SYSCALL (select, 5, n, readfds, writefds, exceptfds,
- timeout);
-
-#ifndef NOT_IN_libc
- LIBC_CANCEL_RESET (oldtype);
-#endif
-
- return result;
-}
-strong_alias (__libc_select, __select)
-libc_hidden_weak(__select)
-weak_alias (__libc_select, select)
diff --git a/nptl/sysdeps/unix/sysv/linux/write.c b/nptl/sysdeps/unix/sysv/linux/write.c
deleted file mode 100644
index ea9b60c979..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/write.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
- 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 <stdlib.h>
-#include <sysdep.h>
-#include <unistd.h>
-#include <nptl/pthreadP.h>
-#include <tls.h>
-
-
-ssize_t
-__libc_write (int fd, const void *buf, size_t count)
-{
-#ifndef NOT_IN_libc
- if (__builtin_expect (THREAD_GETMEM (THREAD_SELF,
- header.data.multiple_threads) == 0, 1))
- return INLINE_SYSCALL (write, 3, fd, buf, count);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-#endif
-
- ssize_t result = INLINE_SYSCALL (write, 3, fd, buf, count);
-
-#ifndef NOT_IN_libc
- LIBC_CANCEL_RESET (oldtype);
-#endif
-
- return result;
-}
-libc_hidden_def (__libc_write)
-strong_alias (__libc_write, __write)
-libc_hidden_weak (__write)
-weak_alias (__libc_write, write)