glibc/sysdeps
Joseph Myers e3b0580d0d Simplify accept4, recvmmsg, sendmmsg code.
The accept4, recvmmsg and sendmmsg functions had macros
__ASSUME_*_SYSCALL_WITH_SOCKETCALL.  Before we could assume kernels
with the relevant functionality, these macros represented the
conditions under which, on a socketcall architecture, glibc could just
call the syscall unconditionally and not have to deal with socketcall
at all for those functions, because if the syscall didn't work for
them the socketcall call wouldn't either.

Now we can assume kernels with the relevant functionality, the only
question is whether we can assume the syscall is present; if not, we
are on a socketcall architecture and just use socketcall instead.
Thus, this patch removes the macros that are no longer necessary, and
simplifies the code for accept4, recvmmsg and sendmmsg to use the same
logic as the other C implementations of socket functions that may use
a syscall or socketcall depending on kernel support.

Tested for x86_64 and x86.

	* sysdeps/unix/sysv/linux/accept4.c (accept4): Use syscall if
	[__ASSUME_ACCEPT4_SYSCALL], otherwise socketcall.
	* sysdeps/unix/sysv/linux/recvmmsg.c (recvmmsg): Use syscall if
	[__ASSUME_RECVMMSG_SYSCALL], otherwise socketcall.
	* sysdeps/unix/sysv/linux/sendmmsg.c (__sendmmsg): Use syscall if
	[__ASSUME_SENDMMSG_SYSCALL], otherwise socketcall.
	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_ACCEPT4_SYSCALL): Move to general list of macros for
	socket syscalls.
	(__ASSUME_RECVMMSG_SYSCALL): Likewise.
	(__ASSUME_SENDMMSG_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/i386/kernel-features.h
	(__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL): Remove.
	(__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
	* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
	(__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL): Remove.
	* sysdeps/unix/sysv/linux/powerpc/kernel-features.h
	(__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
	* sysdeps/unix/sysv/linux/sh/kernel-features.h
	(__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
	* sysdeps/unix/sysv/linux/sparc/kernel-features.h
	(__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL): Likewise.
	(__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
	(__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
2017-05-09 21:59:36 +00:00
..
aarch64 Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
alpha Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
arm Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
generic Fix network headers stdint.h namespace (bug 21455). 2017-05-04 20:36:42 +00:00
gnu Add TCP_FASTOPEN_CONNECT from Linux 4.11 to netinet/tcp.h. 2017-05-01 16:18:31 +00:00
hppa Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
i386 x86: Set dl_platform and dl_hwcap from CPU features [BZ #21391] 2017-05-03 13:44:35 -07:00
ia64 Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
ieee754 float128: Add _Float128 make bits to libm. 2017-05-09 11:40:28 -03:00
init_array
m68k Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
mach [BZ 21340] add support for POSIX_SPAWN_SETSID 2017-04-25 08:51:12 -03:00
microblaze Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
mips Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
nacl Assume that accept4 is always available and works 2017-04-19 07:44:48 +02:00
nios2 Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
nptl Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
posix [BZ 21340] add support for POSIX_SPAWN_SETSID 2017-04-25 08:51:12 -03:00
powerpc Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
pthread Refer to <signal.h> instead of <pthread.h> in <bits/sigthread.h> 2017-02-28 10:34:15 +01:00
s390 Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
sh Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
sparc Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
tile Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
unix Simplify accept4, recvmmsg, sendmmsg code. 2017-05-09 21:59:36 +00:00
wordsize-32 Build divdi3 only for architecture that required it 2017-04-06 15:14:34 -03:00
wordsize-64 Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
x86 Move shared pthread definitions to common headers 2017-05-09 17:49:17 -03:00
x86_64 x86: Set dl_platform and dl_hwcap from CPU features [BZ #21391] 2017-05-03 13:44:35 -07:00