summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/accept.c
AgeCommit message (Collapse)Author
2018-01-01Update copyright dates with scripts/update-copyrights.Joseph Myers
* All files with FSF copyright notices: Update copyright dates using scripts/update-copyrights. * locale/programs/charmap-kw.h: Regenerated. * locale/programs/locfile-kw.h: Likewise.
2017-03-09Consolidate Linux accept implementationAdhemerval Zanella
This patch consolidates the accept Linux syscall implementation on sysdeps/unix/sysv/linux/accept.c. The changes are: 1. Remove accept from auto-generation syscalls.list on the architecture that uses __NR_accept. 2. Define __NR_accept as default (__ASSUME_ACCEPT_SYSCALL) and undef for architectures that do not support it. 3. Remove __ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL and decide to use __NR_accept4 for accept generation based on __ASSUME_ACCEPT4_SYSCALL. Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32, aarch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu. * sysdeps/unix/sysv/linux/accept.c (__libc_accept): Replace __ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL by __ASSUME_ACCEPT4_SYSCALL. * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove accept from auto-generation list. * sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/generic/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/i386/kernel-features.h (__ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL): Remove define. (__ASSUME_ACCEPT_SYSCALL): Undefine. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_ACCEPT_SYSCALL): New define. * sysdeps/unix/sysv/linux/m68k/kernel-features.h (__ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL): Remove define. (__ASSUME_ACCEPT_SYSCALL): Define wheter kernel version supports. * sysdeps/unix/sysv/linux/microblaze/kernel-features.h (__ASSUME_ACCEPT_SYSCALL): Define. * sysdeps/unix/sysv/linux/powerpc/kernel-features.h (__ASSUME_ACCEPT_SYSCALL): Undefine. * sysdeps/unix/sysv/linux/s390/kernel-features.h (__ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL): Remove define. (__ASSUME_ACCEPT_SYSCALL): Undefine. * sysdeps/unix/sysv/linux/sh/kernel-features.h (__ASSUME_ACCEPT_SYSCALL): Undefine. * sysdeps/unix/sysv/linux/sparc/kernel-features.h (__ASSUME_ACCEPT_SYSCALL): Undefine for 32 bits.
2017-01-01Update copyright dates with scripts/update-copyrights.Joseph Myers
2016-01-04Update copyright dates with scripts/update-copyrights.Joseph Myers
2015-11-09S390: Call direct system calls for socket operations.Stefan Liebler
this patch calls direct system calls for socket operations in the same way as power does. The system calls were introduced in kernel commit https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=977108f89c989b1eeb5c8d938e1e71913391eb5f. There are no direct recv, send, accept syscalls available on s390. Thus recvfrom, sendto, accept4 are called instead of the socketcall by defining __ASSUME_*_FOR_*_SYSCALL macros. See recv.c, send.c, accept.c in sysdeps/unix/sysv/linux/ folder. The socketcalls in syscalls.list for s390-64 are removed. They were never used on s390x. ChangeLog: * sysdeps/unix/sysv/linux/s390/kernel-features.h: (__ASSUME_*_SYSCALL) Define new macros. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Remove socketcall syscalls. * sysdeps/unix/sysv/linux/accept.c (__libc_accept): Use accept4 if defined __ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL. * sysdeps/unix/sysv/linux/recv.c (__libc_recv): Use recvfrom if defined __ASSUME_RECVFROM_FOR_RECV_SYSCALL. * sysdeps/unix/sysv/linux/send.c (__libc_send): Use sendto if defined __ASSUME_SENDTO_FOR_SEND_SYSCALL.
2015-08-25Call direct system calls for socket operationsRajalakshmi Srinivasaraghavan
Explicit system calls for the socket operations were added in Linux kernel in commit 86250b9d12ca for powerpc. This patch make use of those instead of calling socketcall to save number of cycles on networking syscalls. 2015-08-25 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com> * sysdeps/unix/sysv/linux/powerpc/kernel-features.h: Define new macros. * sysdeps/unix/sysv/linux/accept.c: Call direct system call. * sysdeps/unix/sysv/linux/bind.c: Call direct system call. * sysdeps/unix/sysv/linux/connect.c: Call direct system call. * sysdeps/unix/sysv/linux/getpeername.c: Call direct system call. * sysdeps/unix/sysv/linux/getsockname.c: Call direct system call. * sysdeps/unix/sysv/linux/getsockopt.c: Call direct system call. * sysdeps/unix/sysv/linux/listen.c: Call direct system call. * sysdeps/unix/sysv/linux/recv.c: Call direct system call. * sysdeps/unix/sysv/linux/recvfrom.c: Call direct system call. * sysdeps/unix/sysv/linux/recvmsg.c: Call direct system call. * sysdeps/unix/sysv/linux/send.c: Call direct system call. * sysdeps/unix/sysv/linux/sendmsg.c: Call direct system call. * sysdeps/unix/sysv/linux/sendto.c: Call direct system call. * sysdeps/unix/sysv/linux/setsockopt.c: Call direct system call. * sysdeps/unix/sysv/linux/shutdown.c: Call direct system call. * sysdeps/unix/sysv/linux/socket.c: Call direct system call. * sysdeps/unix/sysv/linux/socketpair.c: Call direct system call.
2015-05-22Remove socket.S implementationAdhemerval Zanella
This patch removes the socket.S implementation for all ports and replace it by a C implementation using socketcall. For ports that implement the syscall directly, there is no change. The patch idea is to simplify the socket function implementation that uses the socketcall to be based on C implemetation instead of a pseudo assembly implementation with arch specific parts. The patch then remove the assembly implementatation for the ports which uses socketcall (i386, microblaze, mips, powerpc, sparc, m68k, s390 and sh). I have cross-build GLIBC for afore-mentioned ports and tested on both i386 and ppc32 without regressions.