* 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>
This commit is contained in:
Ulrich Drepper 2002-12-15 01:00:22 +00:00
parent 9d263d7284
commit 86b2dc4072
28 changed files with 223 additions and 661 deletions

View File

@ -1,3 +1,36 @@
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.

View 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

View File

@ -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)

View File

@ -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;
}

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -0,0 +1 @@
#include <sysdep.h>

View 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

View 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)'; \\

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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