Update.
authorUlrich Drepper <drepper@redhat.com>
Sun, 15 Dec 2002 01:00:22 +0000 (01:00 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 15 Dec 2002 01:00:22 +0000 (01:00 +0000)
* 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>

28 files changed:
ChangeLog
nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/close.c [deleted file]
nptl/sysdeps/unix/sysv/linux/creat.c [deleted file]
nptl/sysdeps/unix/sysv/linux/fsync.c [deleted file]
nptl/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h [new file with mode: 0644]
nptl/sysdeps/unix/sysv/linux/lseek.c [deleted file]
nptl/sysdeps/unix/sysv/linux/msync.c [deleted file]
nptl/sysdeps/unix/sysv/linux/nanosleep.c [deleted file]
nptl/sysdeps/unix/sysv/linux/open.c [deleted file]
nptl/sysdeps/unix/sysv/linux/pause.c [deleted file]
nptl/sysdeps/unix/sysv/linux/read.c [deleted file]
nptl/sysdeps/unix/sysv/linux/select.c [deleted file]
nptl/sysdeps/unix/sysv/linux/write.c [deleted file]
sysdeps/generic/sysdep-cancel.h [new file with mode: 0644]
sysdeps/unix/inet/syscalls.list
sysdeps/unix/make-syscalls.sh
sysdeps/unix/mman/syscalls.list
sysdeps/unix/syscalls.list
sysdeps/unix/sysv/linux/alpha/syscalls.list
sysdeps/unix/sysv/linux/hppa/syscalls.list
sysdeps/unix/sysv/linux/ia64/syscalls.list
sysdeps/unix/sysv/linux/mips/syscalls.list
sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
sysdeps/unix/sysv/linux/syscalls.list
sysdeps/unix/sysv/linux/x86_64/syscalls.list
sysdeps/unix/sysv/syscalls.list

index 9994a04..f45ba51 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,38 @@
 2002-12-14  Jakub Jelinek  <jakub@redhat.com>
 
+       * 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>
+
        * dirent/bug-readdir1.c: Include unistd.h.
 
 2002-12-13  Jakub Jelinek  <jakub@redhat.com>
index 5650b38..a97ff69 100644 (file)
@@ -1,3 +1,18 @@
+2002-12-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: New file.
+       * sysdeps/unix/sysv/linux/open.c: Removed.
+       * sysdeps/unix/sysv/linux/fsync.c: Removed.
+       * sysdeps/unix/sysv/linux/lseek.c: Removed.
+       * sysdeps/unix/sysv/linux/msync.c: Removed.
+       * sysdeps/unix/sysv/linux/read.c: Removed.
+       * sysdeps/unix/sysv/linux/close.c: Removed.
+       * sysdeps/unix/sysv/linux/creat.c: Removed.
+       * sysdeps/unix/sysv/linux/nanosleep.c: Removed.
+       * sysdeps/unix/sysv/linux/pause.c: Removed.
+       * sysdeps/unix/sysv/linux/select.c: Removed.
+       * sysdeps/unix/sysv/linux/write.c: Removed.
+
 2002-12-14  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/unix/sysv/linux/i386/pt-socket.S: Check multiple_threads
diff --git a/nptl/sysdeps/unix/sysv/linux/close.c b/nptl/sysdeps/unix/sysv/linux/close.c
deleted file mode 100644 (file)
index e5cac95..0000000
+++ /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 (file)
index c21c8bb..0000000
+++ /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 (file)
index b132a75..0000000
+++ /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 (file)
index 0000000..ed9f942
--- /dev/null
@@ -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 (file)
index 5229216..0000000
+++ /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 (file)
index 9edd56c..0000000
+++ /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 (file)
index d43f9eb..0000000
+++ /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 (file)
index f0f95c1..0000000
+++ /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 (file)
index 6348974..0000000
+++ /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 (file)
index ea04002..0000000
+++ /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 (file)
index b1c4659..0000000
+++ /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 (file)
index ea9b60c..0000000
+++ /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)
diff --git a/sysdeps/generic/sysdep-cancel.h b/sysdeps/generic/sysdep-cancel.h
new file mode 100644 (file)
index 0000000..0eca1e9
--- /dev/null
@@ -0,0 +1 @@
+#include <sysdep.h>
index c2cfa9f..f0b7af7 100644 (file)
@@ -1,20 +1,20 @@
 # File name    Caller  Syscall name    # args  Strong name     Weak names
 
-accept         -       accept          i:iBN   __libc_accept   accept
+accept         -       accept          Ci:iBN  __libc_accept   accept
 bind           -       bind            i:ipi   __bind          bind
-connect                -       connect         i:ipi   __libc_connect  __connect __connect_internal connect
+connect                -       connect         Ci:ipi  __libc_connect  __connect __connect_internal connect
 gethostid      -       gethostid       i:      gethostid
 gethostname    -       gethostname     i:bn    __gethostname   gethostname
 getpeername    -       getpeername     i:ibN   __getpeername   getpeername
 getsockname    -       getsockname     i:ibN   __getsockname   getsockname
 getsockopt     -       getsockopt      i:iiiBN getsockopt
 listen         -       listen          i:ii    __listen        listen
-recv           -       recv            i:ibni  __libc_recv     recv
-recvfrom       -       recvfrom        i:ibniBN        __libc_recvfrom __recvfrom recvfrom
-recvmsg                -       recvmsg         i:ipi   __libc_recvmsg  __recvmsg recvmsg
-send           -       send            i:ibni  __libc_send     __send send 
-sendmsg                -       sendmsg         i:ipi   __libc_sendmsg  __sendmsg sendmsg
-sendto         -       sendto          i:ibnibn        __libc_sendto   __sendto sendto
+recv           -       recv            Ci:ibni __libc_recv     recv
+recvfrom       -       recvfrom        Ci:ibniBN       __libc_recvfrom __recvfrom recvfrom
+recvmsg                -       recvmsg         Ci:ipi  __libc_recvmsg  __recvmsg recvmsg
+send           -       send            Ci:ibni __libc_send     __send send 
+sendmsg                -       sendmsg         Ci:ipi  __libc_sendmsg  __sendmsg sendmsg
+sendto         -       sendto          Ci:ibnibn       __libc_sendto   __sendto sendto
 sethostid      -       sethostid       i:i     sethostid
 sethostname    -       sethostname     i:pi    sethostname
 setsockopt     -       setsockopt      i:iiibn setsockopt      __setsockopt
index d49688a..7b53651 100644 (file)
@@ -83,6 +83,11 @@ while read file srcfile caller syscall args strong weak; do
   ;;
   esac
 
+  cancellable=
+  case $args in
+  C*) cancellable=-cancel; args=`echo $args | sed 's/C:\?//'`;;
+  esac
+
   # Derive the number of arguments from the argument signature
   case $args in
   [0-9]) nargs=$args;;
@@ -142,7 +147,7 @@ shared-only-routines += $file
   x*)
   echo "\
        \$(make-target-directory)
-       (echo '#include <sysdep.h>'; \\
+       (echo '#include <sysdep$cancellable.h>'; \\
         echo 'PSEUDO ($strong, $syscall, $nargs)'; \\
         echo ' ret'; \\
         echo 'PSEUDO_END($strong)'; \\
index 772caff..7db8eb7 100644 (file)
@@ -7,5 +7,5 @@
 madvise                -       madvise         i:pii   madvise
 mmap           -       mmap            b:aniiii __mmap         mmap
 mprotect       -       mprotect        i:aii   __mprotect      mprotect
-msync          -       msync           i:aii   __libc_msync    msync
+msync          -       msync           Ci:aii  __libc_msync    msync
 munmap         -       munmap          i:ai    __munmap        munmap
index a7a8754..bbd068a 100644 (file)
@@ -6,13 +6,13 @@ chdir         -       chdir           i:s     __chdir         chdir
 chmod          -       chmod           i:si    __chmod         chmod
 chown          -       chown           i:sii   __chown         __chown_internal chown
 chroot         -       chroot          i:s     chroot
-close          -       close           i:i     __libc_close    __close close
+close          -       close           Ci:i    __libc_close    __close close
 dup            -       dup             i:i     __dup           dup
 dup2           -       dup2            i:ii    __dup2          dup2
 fchdir         -       fchdir          i:i     __fchdir        fchdir
-fcntl          -       fcntl           i:iiF   __libc_fcntl    __fcntl __fcntl_internal fcntl
+fcntl          -       fcntl           Ci:iiF  __libc_fcntl    __fcntl __fcntl_internal fcntl
 fstatfs                -       fstatfs         i:ip    __fstatfs       fstatfs
-fsync          -       fsync           i:i     __libc_fsync    fsync
+fsync          -       fsync           Ci:i    __libc_fsync    fsync
 getdomain      -       getdomainname   i:si    getdomainname
 getgid         -       getgid          i:      __getgid        getgid
 getgroups      -       getgroups       i:ip    __getgroups     getgroups
@@ -24,18 +24,18 @@ getuid              -       getuid          i:      __getuid        getuid
 ioctl          -       ioctl           i:iiI   __ioctl         ioctl
 kill           -       kill            i:ii    __kill          kill
 link           -       link            i:ss    __link          link
-lseek          -       lseek           i:iii   __libc_lseek    __lseek lseek
+lseek          -       lseek           Ci:iii  __libc_lseek    __lseek lseek
 mkdir          -       mkdir           i:si    __mkdir         mkdir
-open           -       open            i:siv   __libc_open __open open
+open           -       open            Ci:siv  __libc_open __open open
 profil         -       profil          i:piii  __profil        profil
 ptrace         -       ptrace          i:iiii  ptrace
-read           -       read            i:ibn   __libc_read     __read read
+read           -       read            Ci:ibn  __libc_read     __read read
 readlink       -       readlink        i:spi   __readlink      readlink
-readv          -       readv           i:ipi   __readv         readv
+readv          -       readv           Ci:ipi  __readv         readv
 reboot         -       reboot          i:i     reboot
 rename         -       rename          i:ss    rename
 rmdir          -       rmdir           i:s     __rmdir         rmdir
-select         -       select          i:iPPPP __select        __libc_select select
+select         -       select          Ci:iPPPP        __select        __libc_select select
 setdomain      -       setdomainname   i:si    setdomainname
 setegid                -       setegid         i:i     __setegid       setegid
 seteuid                -       seteuid         i:i     __seteuid       seteuid
@@ -47,7 +47,7 @@ setrlimit     -       setrlimit       i:ip    __setrlimit setrlimit
 setsid         -       setsid          i:      __setsid        setsid
 settimeofday   -       settimeofday    i:PP    __settimeofday  settimeofday
 setuid         -       setuid          i:i     __setuid        setuid
-sigsuspend     -       sigsuspend      i:p     sigsuspend
+sigsuspend     -       sigsuspend      Ci:p    sigsuspend
 sstk           -       sstk            b:i     sstk
 statfs         -       statfs          i:sp    __statfs        statfs
 swapoff                -       swapoff         i:s     swapoff
@@ -61,5 +61,5 @@ umask         -       umask           i:i     __umask         umask
 uname          -       uname           i:p     __uname         uname
 unlink         -       unlink          i:s     __unlink        unlink
 utimes         -       utimes          i:sp    __utimes        utimes
-write          -       write           i:ibn   __libc_write    __write write
-writev         -       writev          i:ipi   __writev        writev
+write          -       write           Ci:ibn  __libc_write    __write write
+writev         -       writev          Ci:ipi  __writev        writev
index c8ab6ec..7f5c9d0 100644 (file)
@@ -19,9 +19,9 @@ vfork         -       vfork           0       __vfork         vfork
 getpeername    -       getpeername     3       __getpeername   getpeername
 getpriority    -       getpriority     2       __getpriority   getpriority
 mmap           -       mmap            6       __mmap          mmap __mmap64 mmap64
-llseek         EXTRA   lseek           3       __libc_lseek64  __llseek llseek __lseek64 lseek64
-pread          -       pread           4       __libc_pread    __libc_pread64 __pread pread __pread64 pread64
-pwrite         -       pwrite          4       __libc_pwrite   __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
+llseek         EXTRA   lseek           C:3     __libc_lseek64  __llseek llseek __lseek64 lseek64
+pread          -       pread           C:4     __libc_pread    __libc_pread64 __pread pread __pread64 pread64
+pwrite         -       pwrite          C:4     __libc_pwrite   __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
 fstatfs                -       fstatfs         2       __fstatfs       fstatfs __fstatfs64 fstatfs64
 statfs         -       statfs          2       __statfs        statfs statfs64
 getrlimit      -       getrlimit       2       __getrlimit     getrlimit getrlimit64
@@ -36,20 +36,20 @@ sys_ustat   ustat   ustat           2       __syscall_ustat
 sys_mknod      xmknod  mknod           3       __syscall_mknod
 
 # proper socket implementations:
-accept         -       accept          3       __libc_accept   __accept accept
+accept         -       accept          C:3     __libc_accept   __accept accept
 bind           -       bind            3       __bind          bind
-connect                -       connect         3       __libc_connect  __connect_internal __connect connect
+connect                -       connect         C:3     __libc_connect  __connect_internal __connect connect
 getpeername    -       getpeername     3       __getpeername   getpeername
 getsockname    -       getsockname     3       __getsockname   getsockname
 getsockopt     -       getsockopt      5       __getsockopt    getsockopt
 listen         -       listen          2       __listen        listen
-recv           -       recv            4       __libc_recv     __recv recv
-recvfrom       -       recvfrom        6       __libc_recvfrom __recvfrom recvfrom
-recvmsg                -       recvmsg         3       __libc_recvmsg  __recvmsg recvmsg
+recv           -       recv            C:4     __libc_recv     __recv recv
+recvfrom       -       recvfrom        C:6     __libc_recvfrom __recvfrom recvfrom
+recvmsg                -       recvmsg         C:3     __libc_recvmsg  __recvmsg recvmsg
 ptrace         -       ptrace          4       __ptrace        ptrace
-send           -       send            4       __libc_send     __send send
-sendmsg                -       sendmsg         3       __libc_sendmsg  __sendmsg sendmsg
-sendto         -       sendto          6       __libc_sendto   __sendto sendto
+send           -       send            C:4     __libc_send     __send send
+sendmsg                -       sendmsg         C:3     __libc_sendmsg  __sendmsg sendmsg
+sendto         -       sendto          C:6     __libc_sendto   __sendto sendto
 setsockopt     -       setsockopt      5       __setsockopt    setsockopt
 shutdown       -       shutdown        2       __shutdown      shutdown
 socket         -       socket          3       __socket        socket
@@ -64,7 +64,7 @@ pciconfig_iobase EXTRA        pciconfig_iobase 3      __pciconfig_iobase pciconfig_iobase
 adjtimex       -       syscall_adjtimex 1      __syscall_adjtimex syscall_adjtimex
 
 # support old timeval32 entry points
-osf_select     -       osf_select      5       __select_tv32  __select@GLIBC_2.0 select@GLIBC_2.0
+osf_select     -       osf_select      C:5     __select_tv32  __select@GLIBC_2.0 select@GLIBC_2.0
 osf_gettimeofday -     osf_gettimeofday 2      __gettimeofday_tv32  __gettimeofday@GLIBC_2.0 gettimeofday@GLIBC_2.0
 osf_settimeofday -     osf_settimeofday 2      __settimeofday_tv32  settimeofday@GLIBC_2.0
 osf_getitimer  -       osf_getitimer   2       __getitimer_tv32  getitimer@GLIBC_2.0
index 6b18e1f..6edb2d2 100644 (file)
@@ -14,19 +14,19 @@ semget              -       semget          i:iii   __semget        semget
 semctl         -       semctl          i:iiii  __semctl        semctl
 
 # proper socket implementations:
-accept         -       accept          i:iBN   __libc_accept   __accept accept
+accept         -       accept          Ci:iBN  __libc_accept   __accept accept
 bind           -       bind            i:ipi   __bind          bind
-connect                -       connect         i:ipi   __libc_connect  __connect_internal __connect connect 
+connect                -       connect         Ci:ipi  __libc_connect  __connect_internal __connect connect 
 getpeername    -       getpeername     i:ipp   __getpeername   getpeername
 getsockname    -       getsockname     i:ipp   __getsockname   getsockname
 getsockopt     -       getsockopt      i:iiiBN __getsockopt    getsockopt
 listen         -       listen          i:ii    __listen        listen
-recv           -       recv            i:ibni  __libc_recv     __recv recv
-recvfrom       -       recvfrom        i:ibniBN        __libc_recvfrom __recvfrom recvfrom
-recvmsg                -       recvmsg         i:ipi   __libc_recvmsg  __recvmsg recvmsg
-send           -       send            i:ibni  __libc_send     __send send
-sendmsg                -       sendmsg         i:ipi   __libc_sendmsg  __sendmsg sendmsg
-sendto         -       sendto          i:ibnibn        __libc_sendto   __sendto sendto
+recv           -       recv            Ci:ibni __libc_recv     __recv recv
+recvfrom       -       recvfrom        Ci:ibniBN       __libc_recvfrom __recvfrom recvfrom
+recvmsg                -       recvmsg         Ci:ipi  __libc_recvmsg  __recvmsg recvmsg
+send           -       send            Ci:ibni __libc_send     __send send
+sendmsg                -       sendmsg         Ci:ipi  __libc_sendmsg  __sendmsg sendmsg
+sendto         -       sendto          Ci:ibnibn       __libc_sendto   __sendto sendto
 setsockopt     -       setsockopt      i:iiibn __setsockopt    setsockopt
 shutdown       -       shutdown        i:ii    __shutdown      shutdown
 socket         -       socket          i:iii   __socket        socket
index 723573a..a18d5ef 100644 (file)
@@ -3,10 +3,10 @@
 umount2                -       umount          2       __umount2       umount2
 
 # Whee! 64-bit systems naturally implement llseek.
-llseek         EXTRA   lseek           3       __libc_lseek    __lseek lseek __libc_lseek64 __llseek llseek __lseek64 lseek64
+llseek         EXTRA   lseek           C:3     __libc_lseek    __lseek lseek __libc_lseek64 __llseek llseek __lseek64 lseek64
 lseek          llseek  -
-pread          -       pread           4       __libc_pread    __libc_pread64 __pread pread __pread64 pread64
-pwrite         -       pwrite          4       __libc_pwrite   __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
+pread          -       pread           C:4     __libc_pread    __libc_pread64 __pread pread __pread64 pread64
+pwrite         -       pwrite          C:4     __libc_pwrite   __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
 fstatfs                -       fstatfs         i:ip    __fstatfs       fstatfs fstatfs64 __fstatfs64
 statfs         -       statfs          i:sp    __statfs        statfs statfs64
 mmap           -       mmap            b:aniiii __mmap         mmap __mmap64 mmap64
@@ -33,19 +33,19 @@ semget              -       semget          i:iii   __semget        semget
 semctl         -       semctl          i:iiii  __semctl        semctl
 
 # proper socket implementations:
-accept         -       accept          i:iBN   __libc_accept   __accept accept
+accept         -       accept          Ci:iBN  __libc_accept   __accept accept
 bind           -       bind            i:ipi   __bind          bind
-connect                -       connect         i:ipi   __libc_connect  __connect_internal __connect connect
+connect                -       connect         Ci:ipi  __libc_connect  __connect_internal __connect connect
 getpeername    -       getpeername     i:ipp   __getpeername   getpeername
 getsockname    -       getsockname     i:ipp   __getsockname   getsockname
 getsockopt     -       getsockopt      i:iiiBN __getsockopt    getsockopt
 listen         -       listen          i:ii    __listen        listen
-recv           -       recv            i:ibni  __libc_recv     __recv recv
-recvfrom       -       recvfrom        i:ibniBN        __libc_recvfrom __recvfrom recvfrom
-recvmsg                -       recvmsg         i:ipi   __libc_recvmsg  __recvmsg recvmsg
-send           -       send            i:ibni  __libc_send     __send send
-sendmsg                -       sendmsg         i:ipi   __libc_sendmsg  __sendmsg sendmsg
-sendto         -       sendto          i:ibnibn        __libc_sendto   __sendto sendto
+recv           -       recv            Ci:ibni __libc_recv     __recv recv
+recvfrom       -       recvfrom        Ci:ibniBN       __libc_recvfrom __recvfrom recvfrom
+recvmsg                -       recvmsg         Ci:ipi  __libc_recvmsg  __recvmsg recvmsg
+send           -       send            Ci:ibni __libc_send     __send send
+sendmsg                -       sendmsg         Ci:ipi  __libc_sendmsg  __sendmsg sendmsg
+sendto         -       sendto          Ci:ibnibn       __libc_sendto   __sendto sendto
 setsockopt     -       setsockopt      i:iiibn __setsockopt    setsockopt
 shutdown       -       shutdown        i:ii    __shutdown      shutdown
 socket         -       socket          i:iii   __socket        socket
index 76b8b0f..685edc0 100644 (file)
@@ -14,19 +14,19 @@ 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.
 #
-accept         -       accept          i:iBN   __libc_accept   __accept accept
+accept         -       accept          Ci:iBN  __libc_accept   __accept accept
 bind           -       bind            i:ipi   __bind          bind
-connect                -       connect         i:ipi   __libc_connect  __connect_internal __connect connect
+connect                -       connect         Ci:ipi  __libc_connect  __connect_internal __connect connect
 getpeername    -       getpeername     i:ipp   __getpeername   getpeername
 getsockname    -       getsockname     i:ipp   __getsockname   getsockname
 getsockopt     -       getsockopt      i:iiiBN __getsockopt    getsockopt
 listen         -       listen          i:ii    __listen        listen
-recv           -       recv            i:ibni  __libc_recv     __recv recv
-recvfrom       -       recvfrom        i:ibniBN __libc_recvfrom __recvfrom recvfrom
-recvmsg                -       recvmsg         i:ipi   __libc_recvmsg  __recvmsg recvmsg
-send           -       send            i:ibni  __libc_send     __send send
-sendmsg                -       sendmsg         i:ipi   __libc_sendmsg  __sendmsg sendmsg
-sendto         -       sendto          i:ibnibn __libc_sendto  __sendto sendto
+recv           -       recv            Ci:ibni __libc_recv     __recv recv
+recvfrom       -       recvfrom        Ci:ibniBN __libc_recvfrom __recvfrom recvfrom
+recvmsg                -       recvmsg         Ci:ipi  __libc_recvmsg  __recvmsg recvmsg
+send           -       send            Ci:ibni __libc_send     __send send
+sendmsg                -       sendmsg         Ci:ipi  __libc_sendmsg  __sendmsg sendmsg
+sendto         -       sendto          Ci:ibnibn __libc_sendto __sendto sendto
 setsockopt     -       setsockopt      i:iiibn __setsockopt    setsockopt
 shutdown       -       shutdown        i:ii    __shutdown      shutdown
 socket         -       socket          i:iii   __socket        socket
index 3e595f5..55c8c3a 100644 (file)
@@ -1,9 +1,9 @@
 # File name    Caller  Syscall name    # args  Strong name     Weak names
 
-llseek         EXTRA   lseek           3       __libc_lseek    __lseek lseek __libc_lseek64 __llseek llseek __lseek64 lseek64
+llseek         EXTRA   lseek           C:3     __libc_lseek    __lseek lseek __libc_lseek64 __llseek llseek __lseek64 lseek64
 lseek          llseek  -
-pread          -       pread           4       __libc_pread    __libc_pread64 __pread pread __pread64 pread64
-pwrite         -       pwrite          4       __libc_pwrite   __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
+pread          -       pread           C:4     __libc_pread    __libc_pread64 __pread pread __pread64 pread64
+pwrite         -       pwrite          C:4     __libc_pwrite   __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
 fstatfs                -       fstatfs         i:ip    __fstatfs       fstatfs fstatfs64 __fstatfs64
 statfs         -       statfs          i:sp    __statfs        statfs statfs64
 getpeername    -       getpeername     i:ipp   __getpeername   getpeername
@@ -26,19 +26,19 @@ semget              -       semget          i:iii   __semget        semget
 semctl         -       semctl          i:iiii  __semctl        semctl
 
 # proper socket implementations:
-accept         -       accept          i:iBN   __libc_accept   __accept accept
+accept         -       accept          Ci:iBN  __libc_accept   __accept accept
 bind           -       bind            i:ipi   __bind          bind
-connect                -       connect         i:ipi   __libc_connect  __connect_internal __connect connect
+connect                -       connect         Ci:ipi  __libc_connect  __connect_internal __connect connect
 getpeername    -       getpeername     i:ipp   __getpeername   getpeername
 getsockname    -       getsockname     i:ipp   __getsockname   getsockname
 getsockopt     -       getsockopt      i:iiiBN __getsockopt    getsockopt
 listen         -       listen          i:ii    __listen        listen
-recv           -       recv            i:ibni  __libc_recv     __recv recv
-recvfrom       -       recvfrom        i:ibniBN        __libc_recvfrom __recvfrom recvfrom
-recvmsg                -       recvmsg         i:ipi   __libc_recvmsg  __recvmsg recvmsg
-send           -       send            i:ibni  __libc_send     __send send
-sendmsg                -       sendmsg         i:ipi   __libc_sendmsg  __sendmsg sendmsg
-sendto         -       sendto          i:ibnibn        __libc_sendto   __sendto sendto
+recv           -       recv            Ci:ibni __libc_recv     __recv recv
+recvfrom       -       recvfrom        Ci:ibniBN       __libc_recvfrom __recvfrom recvfrom
+recvmsg                -       recvmsg         Ci:ipi  __libc_recvmsg  __recvmsg recvmsg
+send           -       send            Ci:ibni __libc_send     __send send
+sendmsg                -       sendmsg         Ci:ipi  __libc_sendmsg  __sendmsg sendmsg
+sendto         -       sendto          Ci:ibnibn       __libc_sendto   __sendto sendto
 setsockopt     -       setsockopt      i:iiibn __setsockopt    setsockopt
 shutdown       -       shutdown        i:ii    __shutdown      shutdown
 socket         -       socket          i:iii   __socket        socket
index 43002a5..a34e492 100644 (file)
@@ -1,9 +1,9 @@
 # File name    Caller  Syscall name    # args  Strong name     Weak names
 
 # Whee! 64-bit systems naturally implement llseek.
-llseek         EXTRA   lseek           3       __llseek        llseek  __libc_lseek64 __lseek64 lseek64
-pread          -       pread           4       __libc_pread    __libc_pread64 __pread pread __pread64 pread64
-pwrite         -       pwrite          4       __libc_pwrite   __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
+llseek         EXTRA   lseek           C:3     __llseek        llseek  __libc_lseek64 __lseek64 lseek64
+pread          -       pread           C:4     __libc_pread    __libc_pread64 __pread pread __pread64 pread64
+pwrite         -       pwrite          C:4     __libc_pwrite   __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
 fstatfs                -       fstatfs         2       __fstatfs       fstatfs __fstatfs64 fstatfs64
 statfs         -       statfs          2       __statfs        statfs statfs64
 getrlimit      -       getrlimit       2       __getrlimit     getrlimit getrlimit64
@@ -15,20 +15,20 @@ readahead   -       readahead       3       __readahead     readahead
 sendfile       -       sendfile        i:iipi  sendfile        sendfile64
 
 # Override select.S in parent directory:
-select         -       select          5       __select        select
-accept         -       accept          3       __libc_accept   __accept accept
+select         -       select          C:5     __select        select
+accept         -       accept          C:3     __libc_accept   __accept accept
 bind           -       bind            3       __bind          bind
-connect                -       connect         3       __libc_connect  __connect_internal __connect connect
+connect                -       connect         C:3     __libc_connect  __connect_internal __connect connect
 getpeername    -       getpeername     3       __getpeername   getpeername
 getsockname    -       getsockname     3       __getsockname   getsockname
 getsockopt     -       getsockopt      5       __getsockopt    getsockopt
 listen         -       listen          2       __listen        listen
-recv           -       recv            4       __libc_recv     __recv recv
-recvfrom       -       recvfrom        6       __libc_recvfrom __recvfrom recvfrom
-recvmsg                -       recvmsg         3       __libc_recvmsg  __recvmsg recvmsg
-send           -       send            4       __libc_send     __send send
-sendmsg                -       sendmsg         3       __libc_sendmsg  __sendmsg sendmsg
-sendto         -       sendto          6       __libc_sendto   __sendto sendto
+recv           -       recv            C:4     __libc_recv     __recv recv
+recvfrom       -       recvfrom        C:6     __libc_recvfrom __recvfrom recvfrom
+recvmsg                -       recvmsg         C:3     __libc_recvmsg  __recvmsg recvmsg
+send           -       send            C:4     __libc_send     __send send
+sendmsg                -       sendmsg         C:3     __libc_sendmsg  __sendmsg sendmsg
+sendto         -       sendto          C:6     __libc_sendto   __sendto sendto
 setsockopt     -       setsockopt      5       __setsockopt    setsockopt
 shutdown       -       shutdown        2       __shutdown      shutdown
 socketpair     -       socketpair      4       __socketpair    socketpair
index ce0f58b..16eae75 100644 (file)
@@ -4,7 +4,7 @@ adjtimex        adjtime adjtimex        i:p     __adjtimex      adjtimex ntp_adjtime __adjtimex_interna
 bdflush                EXTRA   bdflush         i:ii    bdflush
 capget         EXTRA   capget          i:pp    capget
 capset         EXTRA   capset          i:pp    capset
-creat          -       creat           i:si    __libc_creat creat
+creat          -       creat           Ci:si   __libc_creat creat
 create_module  EXTRA   create_module   3       create_module
 delete_module  EXTRA   delete_module   3       delete_module
 fdatasync      -       fdatasync       i:i     fdatasync
@@ -33,9 +33,9 @@ mount         EXTRA   mount           i:sssip __mount mount
 mremap         EXTRA   mremap          b:aini  __mremap        mremap
 munlock                -       munlock         i:ai    munlock
 munlockall     -       munlockall      i:      munlockall
-nanosleep      -       nanosleep       i:pp    __libc_nanosleep        __nanosleep nanosleep
+nanosleep      -       nanosleep       Ci:pp   __libc_nanosleep        __nanosleep nanosleep
 nfsservctl     EXTRA   nfsservctl      i:ipp   nfsservctl
-pause          -       pause           i:      __libc_pause    pause
+pause          -       pause           Ci:     __libc_pause    pause
 personality    init-first personality  i:i     __personality   personality
 pipe           -       pipe            i:f     __pipe          pipe
 pivot_root     EXTRA   pivot_root      i:ss    pivot_root
@@ -52,7 +52,7 @@ sched_setaffinity -   sched_setaffinity       i:iip   sched_setaffinity
 sched_setp     -       sched_setparam  i:ip    __sched_setparam        sched_setparam
 sched_sets     -       sched_setscheduler      i:iip   __sched_setscheduler    sched_setscheduler
 sched_yield    -       sched_yield     i:      __sched_yield   sched_yield
-select         -       _newselect      i:iPPPP __select        __libc_select select
+select         -       _newselect      Ci:iPPPP        __select        __libc_select select
 sendfile       -       sendfile        i:iipi  sendfile
 sendfile64     -       sendfile64      i:iipi  sendfile64
 setfsgid       EXTRA   setfsgid        i:i     setfsgid
@@ -68,7 +68,7 @@ uselib                EXTRA   uselib          i:s     uselib
 wait4          -       wait4           i:iWiP  __wait4         wait4
 
 chown          -       chown           i:sii   __libc_chown    __chown chown
-fcntl          -       fcntl           i:iiF   __libc_fcntl    __fcntl fcntl
+fcntl          -       fcntl           Ci:iiF  __libc_fcntl    __fcntl fcntl
 
 setxattr       EXTRA   setxattr        i:sspii setxattr
 lsetxattr      EXTRA   lsetxattr       i:sspii lsetxattr
index 2bae164..a5c1288 100644 (file)
@@ -3,9 +3,9 @@
 arch_prctl     EXTRA   arch_prctl      i:ii    __arch_prctl    arch_prctl
 mmap           -       mmap            b:aniiii __mmap         mmap __mmap64 mmap64
 modify_ldt     EXTRA   modify_ldt      i:ipi   __modify_ldt    modify_ldt
-llseek         EXTRA   lseek           i:iii   __libc_lseek64  __llseek llseek __lseek64 lseek64
-pread          -       pread           i:ibni  __libc_pread    __libc_pread64 __pread pread __pread64 pread64
-pwrite         -       pwrite          i:ibni  __libc_pwrite   __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
+llseek         EXTRA   lseek           Ci:iii  __libc_lseek64  __llseek llseek __lseek64 lseek64
+pread          -       pread           Ci:ibni __libc_pread    __libc_pread64 __pread pread __pread64 pread64
+pwrite         -       pwrite          Ci:ibni __libc_pwrite   __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
 fstatfs                -       fstatfs         i:ip    __fstatfs       fstatfs __fstatfs64 fstatfs64
 statfs         -       statfs          i:sp    __statfs        statfs statfs64
 getrlimit      -       getrlimit       i:ip    __getrlimit     getrlimit getrlimit64
@@ -30,17 +30,17 @@ semctl              -       semctl          i:iiii  __semctl        semctl
 
 
 # proper socket implementations:
-accept         -       accept          i:iBN   __libc_accept   __accept accept
+accept         -       accept          Ci:iBN  __libc_accept   __accept accept
 bind           -       bind            i:ipi   __bind          bind
-connect                -       connect         i:ipi   __libc_connect  __connect_internal __connect connect
+connect                -       connect         Ci:ipi  __libc_connect  __connect_internal __connect connect
 getpeername    -       getpeername     i:ipp   __getpeername   getpeername
 getsockname    -       getsockname     i:ipp   __getsockname   getsockname
 getsockopt     -       getsockopt      i:iiiBN __getsockopt    getsockopt
 listen         -       listen          i:ii    __listen        listen
-recvfrom       -       recvfrom        i:ibniBN        __libc_recvfrom __recvfrom recvfrom
-recvmsg                -       recvmsg         i:ipi   __libc_recvmsg  __recvmsg recvmsg
-sendmsg                -       sendmsg         i:ipi   __libc_sendmsg  __sendmsg sendmsg
-sendto         -       sendto          i:ibnibn        __libc_sendto   __sendto sendto
+recvfrom       -       recvfrom        Ci:ibniBN       __libc_recvfrom __recvfrom recvfrom
+recvmsg                -       recvmsg         Ci:ipi  __libc_recvmsg  __recvmsg recvmsg
+sendmsg                -       sendmsg         Ci:ipi  __libc_sendmsg  __sendmsg sendmsg
+sendto         -       sendto          Ci:ibnibn       __libc_sendto   __sendto sendto
 setsockopt     -       setsockopt      i:iiibn __setsockopt    setsockopt
 shutdown       -       shutdown        i:ii    __shutdown      shutdown
 socket         -       socket          i:iii   __socket        socket
index 1d37af8..d945ff0 100644 (file)
@@ -3,8 +3,8 @@
 alarm          -       alarm           i:i     alarm
 ftime          -       ftime           i:p     ftime
 nice           -       nice            i:i     nice
-pause          -       pause           i:      pause
-poll           -       poll            i:pii   poll
+pause          -       pause           Ci:     pause
+poll           -       poll            Ci:pii  poll
 s_getdents     getdents getdents       i:ipi   __getdents
 setrlimit      -       setrlimit       i:ip    __setrlimit     setrlimit
 settimeofday   -       settimeofday    i:PP    __settimeofday  settimeofday