mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-06 20:58:33 +01:00
Adjust kernel-features.h defaults for recvmsg and sendmsg
This patch removes the auto-generation for recvmsg and sendmsg syscall
and adjust the kernel-features.h for all architectures supported on
Linux. This patch follows the idea of 'Adjust kernel-features.h defaults
for socket syscalls.' (35ade9f11b
) by define
__ASSUME_SENDMSG_SYSCALL and __ASSUME_RECVMSG_SYSCALL as supported by
default and undefine it for the architecture that do not support it
directly.
The main rationale is to make is easier add code wrapper over the syscall
to fix BZ#16919 (recvmsg standard compliance).
Tested on x86_64, i686, aarch64, armhf, and powerpc64le.
* sysdeps/unix/sysv/linux/alpha/syscalls.list (recvmsg): Remove
from auto-generation.
(sendmsg): Likewise.
* sysdeps/unix/sysv/linux/arm/syscalls.list (recvmsg): Likewise.
(sendmsg): Likewise.
* sysdeps/unix/sysv/linux/generic/syscalls.list (recvmsg): Likewise.
(sendmsg): Likewise.
* sysdeps/unix/sysv/linux/hppa/syscalls.list (recvmsg): Likewise.
(sendmsg): Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list (recvmsg): Likewise.
(sendmsg): Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list (recvmsg): Likewise.
(sendmsg): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (recvmsg):
Likewise.
(sendmsg): Likewise.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list (recvmsg): Likewise.
(sendmsg): Likewise.
* sysdeps/unix/sysv/linux/i386/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_SENDMSG_SYSCALL):
Remove.
[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_RECVMSG_SYSCALL):
Likewise.
[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_SENDMSG_SYSCALL):
Undefine.
[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_RECVMSG_SYSCALL):
Likewise.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_SENDMSG_SYSCALL): Define.
(__ASSUME_RECVMSG_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/m68k/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_SENDMSG_SYSCALL):
Remove.
[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_RECVMSG_SYSCALL):
Likewise.
[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_SENDMSG_SYSCALL):
Undefine.
[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_RECVMSG_SYSCALL):
Likewise.
* sysdeps/unix/sysv/linux/s390/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_SENDMSG_SYSCALL):
Remove.
[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_RECVMSG_SYSCALL):
Likewise.
[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_SENDMSG_SYSCALL):
Undefine.
[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_RECVMSG_SYSCALL):
Likewise.
* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
(__ASSUME_SENDMSG_SYSCALL): Undefine.
(__ASSUME_RECVMSG_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/powerpc/kernel-features.h
(__ASSUME_SENDMSG_SYSCALL): Likewise.
(__ASSUME_RECVMSG_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/sh/kernel-features.h
(__ASSUME_SENDMSG_SYSCALL): Likewise.
(__ASSUME_RECVMSG_SYSCALL): Likewise.
This commit is contained in:
parent
1ced34c00a
commit
abf29edd4a
16 changed files with 72 additions and 28 deletions
60
ChangeLog
60
ChangeLog
|
@ -1,3 +1,63 @@
|
|||
2016-05-25 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/syscalls.list (recvmsg): Remove
|
||||
from auto-generation.
|
||||
(sendmsg): Likewise.
|
||||
* sysdeps/unix/sysv/linux/arm/syscalls.list (recvmsg): Likewise.
|
||||
(sendmsg): Likewise.
|
||||
* sysdeps/unix/sysv/linux/generic/syscalls.list (recvmsg): Likewise.
|
||||
(sendmsg): Likewise.
|
||||
* sysdeps/unix/sysv/linux/hppa/syscalls.list (recvmsg): Likewise.
|
||||
(sendmsg): Likewise.
|
||||
* sysdeps/unix/sysv/linux/ia64/syscalls.list (recvmsg): Likewise.
|
||||
(sendmsg): Likewise.
|
||||
* sysdeps/unix/sysv/linux/mips/syscalls.list (recvmsg): Likewise.
|
||||
(sendmsg): Likewise.
|
||||
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (recvmsg):
|
||||
Likewise.
|
||||
(sendmsg): Likewise.
|
||||
* sysdeps/unix/sysv/linux/x86_64/syscalls.list (recvmsg): Likewise.
|
||||
(sendmsg): Likewise.
|
||||
* sysdeps/unix/sysv/linux/i386/kernel-features.h
|
||||
[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_SENDMSG_SYSCALL):
|
||||
Remove.
|
||||
[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_RECVMSG_SYSCALL):
|
||||
Likewise.
|
||||
[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_SENDMSG_SYSCALL):
|
||||
Undefine.
|
||||
[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_RECVMSG_SYSCALL):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/kernel-features.h
|
||||
(__ASSUME_SENDMSG_SYSCALL): Define.
|
||||
(__ASSUME_RECVMSG_SYSCALL): Likewise.
|
||||
* sysdeps/unix/sysv/linux/m68k/kernel-features.h
|
||||
[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_SENDMSG_SYSCALL):
|
||||
Remove.
|
||||
[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_RECVMSG_SYSCALL):
|
||||
Likewise.
|
||||
[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_SENDMSG_SYSCALL):
|
||||
Undefine.
|
||||
[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_RECVMSG_SYSCALL):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/s390/kernel-features.h
|
||||
[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_SENDMSG_SYSCALL):
|
||||
Remove.
|
||||
[__LINUX_KERNEL_VERSION >= 0x040300] (__ASSUME_RECVMSG_SYSCALL):
|
||||
Likewise.
|
||||
[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_SENDMSG_SYSCALL):
|
||||
Undefine.
|
||||
[__LINUX_KERNEL_VERSION < 0x040300] (__ASSUME_RECVMSG_SYSCALL):
|
||||
Likewise.
|
||||
* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
|
||||
(__ASSUME_SENDMSG_SYSCALL): Undefine.
|
||||
(__ASSUME_RECVMSG_SYSCALL): Likewise.
|
||||
* sysdeps/unix/sysv/linux/powerpc/kernel-features.h
|
||||
(__ASSUME_SENDMSG_SYSCALL): Likewise.
|
||||
(__ASSUME_RECVMSG_SYSCALL): Likewise.
|
||||
* sysdeps/unix/sysv/linux/sh/kernel-features.h
|
||||
(__ASSUME_SENDMSG_SYSCALL): Likewise.
|
||||
(__ASSUME_RECVMSG_SYSCALL): Likewise.
|
||||
|
||||
2016-05-25 Paul E. Murphy <murphyp@linux.vnet.ibm.com>
|
||||
|
||||
* stdlib/gen-tst-strtod-round.c: Add backslash to
|
||||
|
|
|
@ -27,9 +27,7 @@ getsockopt - getsockopt i:iiiBN __getsockopt getsockopt
|
|||
listen - listen i:ii __listen listen
|
||||
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
|
||||
|
|
|
@ -43,9 +43,7 @@ getsockopt - getsockopt i:iiiBN __getsockopt getsockopt
|
|||
listen - listen i:ii __listen listen
|
||||
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
|
||||
|
|
|
@ -28,5 +28,3 @@ recvfrom - recvfrom Ci:ibniBN __libc_recvfrom __recvfrom recvfrom
|
|||
setsockopt - setsockopt i:iiibn __setsockopt setsockopt
|
||||
getsockopt - getsockopt i:iiiBN __getsockopt getsockopt
|
||||
shutdown - shutdown i:ii __shutdown shutdown
|
||||
sendmsg - sendmsg Ci:ipi __libc_sendmsg __sendmsg sendmsg
|
||||
recvmsg - recvmsg Ci:ipi __libc_recvmsg __recvmsg recvmsg
|
||||
|
|
|
@ -24,9 +24,7 @@ getsockopt - getsockopt i:iiiBN __getsockopt getsockopt
|
|||
listen - listen i:ii __listen listen
|
||||
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
|
||||
|
|
|
@ -40,10 +40,8 @@
|
|||
# define __ASSUME_GETPEERNAME_SYSCALL 1
|
||||
# define __ASSUME_SENDTO_SYSCALL 1
|
||||
# define __ASSUME_SENDTO_FOR_SEND_SYSCALL 1
|
||||
# define __ASSUME_SENDMSG_SYSCALL 1
|
||||
# define __ASSUME_RECVFROM_SYSCALL 1
|
||||
# define __ASSUME_RECVFROM_FOR_RECV_SYSCALL 1
|
||||
# define __ASSUME_RECVMSG_SYSCALL 1
|
||||
# define __ASSUME_SHUTDOWN_SYSCALL 1
|
||||
#endif
|
||||
|
||||
|
@ -51,4 +49,6 @@
|
|||
|
||||
#if __LINUX_KERNEL_VERSION < 0x040300
|
||||
# undef __ASSUME_ACCEPT4_SYSCALL
|
||||
# undef __ASSUME_SENDMSG_SYSCALL
|
||||
# undef __ASSUME_RECVMSG_SYSCALL
|
||||
#endif
|
||||
|
|
|
@ -28,9 +28,7 @@ getsockopt - getsockopt i:iiiBN __getsockopt getsockopt
|
|||
listen - listen i:ii __listen listen
|
||||
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
|
||||
|
|
|
@ -145,3 +145,9 @@
|
|||
# define __ASSUME_SENDMMSG_SYSCALL 1
|
||||
# define __ASSUME_SENDMMSG 1
|
||||
#endif
|
||||
|
||||
/* On most architectures, most socket syscalls are supported for all
|
||||
supported kernel versions, but on some socketcall architectures
|
||||
separate syscalls were only added later. */
|
||||
#define __ASSUME_SENDMSG_SYSCALL 1
|
||||
#define __ASSUME_RECVMSG_SYSCALL 1
|
||||
|
|
|
@ -34,10 +34,8 @@
|
|||
# define __ASSUME_GETPEERNAME_SYSCALL 1
|
||||
# define __ASSUME_SENDTO_SYSCALL 1
|
||||
# define __ASSUME_SENDTO_FOR_SEND_SYSCALL 1
|
||||
# define __ASSUME_SENDMSG_SYSCALL 1
|
||||
# define __ASSUME_RECVFROM_SYSCALL 1
|
||||
# define __ASSUME_RECVFROM_FOR_RECV_SYSCALL 1
|
||||
# define __ASSUME_RECVMSG_SYSCALL 1
|
||||
# define __ASSUME_SHUTDOWN_SYSCALL 1
|
||||
#endif
|
||||
|
||||
|
@ -47,6 +45,8 @@
|
|||
# undef __ASSUME_ACCEPT4_SYSCALL
|
||||
# undef __ASSUME_RECVMMSG_SYSCALL
|
||||
# undef __ASSUME_SENDMMSG_SYSCALL
|
||||
# undef __ASSUME_SENDMSG_SYSCALL
|
||||
# undef __ASSUME_RECVMSG_SYSCALL
|
||||
#endif
|
||||
|
||||
/* No support for PI futexes or robust mutexes before 3.10 for m68k. */
|
||||
|
|
|
@ -35,8 +35,6 @@
|
|||
#define __ASSUME_SHUTDOWN_SYSCALL 1
|
||||
#define __ASSUME_GETSOCKOPT_SYSCALL 1
|
||||
#define __ASSUME_SETSOCKOPT_SYSCALL 1
|
||||
#define __ASSUME_SENDMSG_SYSCALL 1
|
||||
#define __ASSUME_RECVMSG_SYSCALL 1
|
||||
|
||||
/* Support for the accept4 and recvmmsg syscalls was added in 2.6.33. */
|
||||
#define __ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL 1
|
||||
|
|
|
@ -21,9 +21,7 @@ getsockopt - getsockopt i:iiiBN __getsockopt getsockopt
|
|||
listen - listen i:ii __listen listen
|
||||
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
|
||||
|
|
|
@ -36,8 +36,6 @@
|
|||
#define __ASSUME_SHUTDOWN_SYSCALL 1
|
||||
#define __ASSUME_GETSOCKOPT_SYSCALL 1
|
||||
#define __ASSUME_SETSOCKOPT_SYSCALL 1
|
||||
#define __ASSUME_SENDMSG_SYSCALL 1
|
||||
#define __ASSUME_RECVMSG_SYSCALL 1
|
||||
|
||||
/* The sendmmsg syscall was added for PowerPC in 3.0. */
|
||||
#define __ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL 1
|
||||
|
|
|
@ -34,10 +34,8 @@
|
|||
# define __ASSUME_GETPEERNAME_SYSCALL 1
|
||||
# define __ASSUME_SENDTO_SYSCALL 1
|
||||
# define __ASSUME_SENDTO_FOR_SEND_SYSCALL 1
|
||||
# define __ASSUME_SENDMSG_SYSCALL 1
|
||||
# define __ASSUME_RECVFROM_SYSCALL 1
|
||||
# define __ASSUME_RECVFROM_FOR_RECV_SYSCALL 1
|
||||
# define __ASSUME_RECVMSG_SYSCALL 1
|
||||
# define __ASSUME_SHUTDOWN_SYSCALL 1
|
||||
#endif
|
||||
|
||||
|
@ -47,4 +45,6 @@
|
|||
# undef __ASSUME_ACCEPT4_SYSCALL
|
||||
# undef __ASSUME_RECVMMSG_SYSCALL
|
||||
# undef __ASSUME_SENDMMSG_SYSCALL
|
||||
# undef __ASSUME_SENDMSG_SYSCALL
|
||||
# undef __ASSUME_RECVMSG_SYSCALL
|
||||
#endif
|
||||
|
|
|
@ -36,8 +36,6 @@
|
|||
#define __ASSUME_SHUTDOWN_SYSCALL 1
|
||||
#define __ASSUME_GETSOCKOPT_SYSCALL 1
|
||||
#define __ASSUME_SETSOCKOPT_SYSCALL 1
|
||||
#define __ASSUME_SENDMSG_SYSCALL 1
|
||||
#define __ASSUME_RECVMSG_SYSCALL 1
|
||||
|
||||
/* The sendmmsg syscall was added for SH in 3.0. */
|
||||
#define __ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL 1
|
||||
|
|
|
@ -11,9 +11,7 @@ getsockopt - getsockopt 5 __getsockopt getsockopt
|
|||
listen - listen 2 __listen listen
|
||||
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
|
||||
|
|
|
@ -26,8 +26,6 @@ getsockname - getsockname i:ipp __getsockname getsockname
|
|||
getsockopt - getsockopt i:iiiBN __getsockopt getsockopt
|
||||
listen - listen i:ii __listen listen
|
||||
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
|
||||
|
|
Loading…
Add table
Reference in a new issue