diff options
28 files changed, 223 insertions, 661 deletions
@@ -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> diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 5650b3825a..a97ff6999e 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -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 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) diff --git a/sysdeps/generic/sysdep-cancel.h b/sysdeps/generic/sysdep-cancel.h new file mode 100644 index 0000000000..0eca1e927c --- /dev/null +++ b/sysdeps/generic/sysdep-cancel.h @@ -0,0 +1 @@ +#include <sysdep.h> diff --git a/sysdeps/unix/inet/syscalls.list b/sysdeps/unix/inet/syscalls.list index c2cfa9f4d6..f0b7af7b1a 100644 --- a/sysdeps/unix/inet/syscalls.list +++ b/sysdeps/unix/inet/syscalls.list @@ -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 diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh index d49688aacc..7b53651240 100644 --- a/sysdeps/unix/make-syscalls.sh +++ b/sysdeps/unix/make-syscalls.sh @@ -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)'; \\ diff --git a/sysdeps/unix/mman/syscalls.list b/sysdeps/unix/mman/syscalls.list index 772caff370..7db8eb7729 100644 --- a/sysdeps/unix/mman/syscalls.list +++ b/sysdeps/unix/mman/syscalls.list @@ -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 diff --git a/sysdeps/unix/syscalls.list b/sysdeps/unix/syscalls.list index a7a875450b..bbd068a33e 100644 --- a/sysdeps/unix/syscalls.list +++ b/sysdeps/unix/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/alpha/syscalls.list b/sysdeps/unix/sysv/linux/alpha/syscalls.list index c8ab6ec847..7f5c9d0052 100644 --- a/sysdeps/unix/sysv/linux/alpha/syscalls.list +++ b/sysdeps/unix/sysv/linux/alpha/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/hppa/syscalls.list b/sysdeps/unix/sysv/linux/hppa/syscalls.list index 6b18e1f166..6edb2d2b16 100644 --- a/sysdeps/unix/sysv/linux/hppa/syscalls.list +++ b/sysdeps/unix/sysv/linux/hppa/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/ia64/syscalls.list b/sysdeps/unix/sysv/linux/ia64/syscalls.list index 723573aa43..a18d5efd44 100644 --- a/sysdeps/unix/sysv/linux/ia64/syscalls.list +++ b/sysdeps/unix/sysv/linux/ia64/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/mips/syscalls.list b/sysdeps/unix/sysv/linux/mips/syscalls.list index 76b8b0fe15..685edc0e65 100644 --- a/sysdeps/unix/sysv/linux/mips/syscalls.list +++ b/sysdeps/unix/sysv/linux/mips/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list b/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list index 3e595f5fd0..55c8c3aa8e 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list +++ b/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list b/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list index 43002a51c6..a34e49246e 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list index ce0f58bb0a..16eae75f2f 100644 --- a/sysdeps/unix/sysv/linux/syscalls.list +++ b/sysdeps/unix/sysv/linux/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/x86_64/syscalls.list b/sysdeps/unix/sysv/linux/x86_64/syscalls.list index 2bae164fd9..a5c1288f61 100644 --- a/sysdeps/unix/sysv/linux/x86_64/syscalls.list +++ b/sysdeps/unix/sysv/linux/x86_64/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/syscalls.list b/sysdeps/unix/sysv/syscalls.list index 1d37af8391..d945ff014e 100644 --- a/sysdeps/unix/sysv/syscalls.list +++ b/sysdeps/unix/sysv/syscalls.list @@ -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 |