mirror of
https://sourceware.org/git/glibc.git
synced 2026-01-06 11:51:29 +03:00
Consolidate Linux accept implementation
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.
This commit is contained in:
committed by
Adhemerval Zanella
parent
9a56f87183
commit
01061a7cab
@@ -27,7 +27,6 @@
|
||||
# define __ASSUME_BIND_SYSCALL 1
|
||||
# define __ASSUME_CONNECT_SYSCALL 1
|
||||
# define __ASSUME_LISTEN_SYSCALL 1
|
||||
# define __ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL 1
|
||||
# define __ASSUME_GETSOCKOPT_SYSCALL 1
|
||||
# define __ASSUME_SETSOCKOPT_SYSCALL 1
|
||||
# define __ASSUME_GETSOCKNAME_SYSCALL 1
|
||||
@@ -41,6 +40,8 @@
|
||||
|
||||
#include_next <kernel-features.h>
|
||||
|
||||
#undef __ASSUME_ACCEPT_SYSCALL
|
||||
|
||||
#if __LINUX_KERNEL_VERSION < 0x040300
|
||||
# undef __ASSUME_ACCEPT4_SYSCALL
|
||||
# undef __ASSUME_RECVMMSG_SYSCALL
|
||||
|
||||
Reference in New Issue
Block a user