Message ID | 1459175641-12520-2-git-send-email-adhemerval.zanella@linaro.org |
---|---|
State | New |
Headers | show |
On Mon, 28 Mar 2016, Adhemerval Zanella wrote: > +/* Support for recvmsg and sendmsg was added in 2.6.12 in most architectures, > + with some added later (for instance 2.6.37 for powerpc) and for some only > + through syscall (with wire-up syscall added in later versionsi). Define > + __ASSUME_RECVMSG_SYSCALL and __ASUME_SENDMSG_SYSCALL if glibc uses direct > + syscall, otherwise glibc will use socketcall. */ This comment is a mess. * I'm doubtful of the "added in 2.6.12". Do you actually mean not in 2.6.11 as verified by comparing 2.6.11 and 2.6.12, or do you mean that 2.6.12 is the first release *in git* with the syscalls (for the trivial reason that it was the first release in git at all)? * "only through syscall" looks wrong in that context; I think you mean "only through socketcall". * "versionsi" typo. * "__ASUME_SENDMSG_SYSCALL" typo. I think you mean something more like: /* On most architectures, most socket syscalls are supported for all supported kernel versions, but on some socketcall architectures separate syscalls were only added later. */ which does not need to go into details of the particular versions for particular architectures.
On 29-03-2016 18:32, Joseph Myers wrote: > On Mon, 28 Mar 2016, Adhemerval Zanella wrote: > >> +/* Support for recvmsg and sendmsg was added in 2.6.12 in most architectures, >> + with some added later (for instance 2.6.37 for powerpc) and for some only >> + through syscall (with wire-up syscall added in later versionsi). Define >> + __ASSUME_RECVMSG_SYSCALL and __ASUME_SENDMSG_SYSCALL if glibc uses direct >> + syscall, otherwise glibc will use socketcall. */ > > This comment is a mess. > > * I'm doubtful of the "added in 2.6.12". Do you actually mean not in > 2.6.11 as verified by comparing 2.6.11 and 2.6.12, or do you mean that > 2.6.12 is the first release *in git* with the syscalls (for the trivial > reason that it was the first release in git at all)? > > * "only through syscall" looks wrong in that context; I think you mean > "only through socketcall". > > * "versionsi" typo. > > * "__ASUME_SENDMSG_SYSCALL" typo. > > I think you mean something more like: > > /* On most architectures, most socket syscalls are supported for all > supported kernel versions, but on some socketcall architectures > separate syscalls were only added later. */ > > which does not need to go into details of the particular versions for > particular architectures. > Fair enough, I will change it.
On 29-03-2016 18:32, Joseph Myers wrote: > On Mon, 28 Mar 2016, Adhemerval Zanella wrote: > >> +/* Support for recvmsg and sendmsg was added in 2.6.12 in most architectures, >> + with some added later (for instance 2.6.37 for powerpc) and for some only >> + through syscall (with wire-up syscall added in later versionsi). Define >> + __ASSUME_RECVMSG_SYSCALL and __ASUME_SENDMSG_SYSCALL if glibc uses direct >> + syscall, otherwise glibc will use socketcall. */ > > This comment is a mess. > > * I'm doubtful of the "added in 2.6.12". Do you actually mean not in > 2.6.11 as verified by comparing 2.6.11 and 2.6.12, or do you mean that > 2.6.12 is the first release *in git* with the syscalls (for the trivial > reason that it was the first release in git at all)? Later, since I did not compare against 2.6.11 (only checked the git history). > > * "only through syscall" looks wrong in that context; I think you mean > "only through socketcall". > > * "versionsi" typo. > > * "__ASUME_SENDMSG_SYSCALL" typo. > > I think you mean something more like: > > /* On most architectures, most socket syscalls are supported for all > supported kernel versions, but on some socketcall architectures > separate syscalls were only added later. */ > > which does not need to go into details of the particular versions for > particular architectures. > Indeed this is a mess, I will change to your suggestion.
Adhemerval Zanella <adhemerval.zanella@linaro.org> writes: > On 29-03-2016 18:32, Joseph Myers wrote: >> On Mon, 28 Mar 2016, Adhemerval Zanella wrote: >> >>> +/* Support for recvmsg and sendmsg was added in 2.6.12 in most architectures, >>> + with some added later (for instance 2.6.37 for powerpc) and for some only >>> + through syscall (with wire-up syscall added in later versionsi). Define >>> + __ASSUME_RECVMSG_SYSCALL and __ASUME_SENDMSG_SYSCALL if glibc uses direct >>> + syscall, otherwise glibc will use socketcall. */ >> >> This comment is a mess. >> >> * I'm doubtful of the "added in 2.6.12". Do you actually mean not in >> 2.6.11 as verified by comparing 2.6.11 and 2.6.12, or do you mean that >> 2.6.12 is the first release *in git* with the syscalls (for the trivial >> reason that it was the first release in git at all)? > > Later, since I did not compare against 2.6.11 (only checked the git history). See <git://git.kernel.org/pub/scm/linux/kernel/git/tglx/history> for earlier history. Andreas.
diff --git a/sysdeps/unix/sysv/linux/alpha/syscalls.list b/sysdeps/unix/sysv/linux/alpha/syscalls.list index cad1fc3..0c9efcb 100644 --- a/sysdeps/unix/sysv/linux/alpha/syscalls.list +++ b/sysdeps/unix/sysv/linux/alpha/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/arm/syscalls.list b/sysdeps/unix/sysv/linux/arm/syscalls.list index c06954f..82402b1 100644 --- a/sysdeps/unix/sysv/linux/arm/syscalls.list +++ b/sysdeps/unix/sysv/linux/arm/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/generic/syscalls.list b/sysdeps/unix/sysv/linux/generic/syscalls.list index 4b2e747..5993ab4 100644 --- a/sysdeps/unix/sysv/linux/generic/syscalls.list +++ b/sysdeps/unix/sysv/linux/generic/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/hppa/syscalls.list b/sysdeps/unix/sysv/linux/hppa/syscalls.list index d29c358..1f3dfb0 100644 --- a/sysdeps/unix/sysv/linux/hppa/syscalls.list +++ b/sysdeps/unix/sysv/linux/hppa/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/i386/kernel-features.h b/sysdeps/unix/sysv/linux/i386/kernel-features.h index 45054f8..148963c 100644 --- a/sysdeps/unix/sysv/linux/i386/kernel-features.h +++ b/sysdeps/unix/sysv/linux/i386/kernel-features.h @@ -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 diff --git a/sysdeps/unix/sysv/linux/ia64/syscalls.list b/sysdeps/unix/sysv/linux/ia64/syscalls.list index 8642bac..68b6c9a 100644 --- a/sysdeps/unix/sysv/linux/ia64/syscalls.list +++ b/sysdeps/unix/sysv/linux/ia64/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h index 5a1b204..3fba4151 100644 --- a/sysdeps/unix/sysv/linux/kernel-features.h +++ b/sysdeps/unix/sysv/linux/kernel-features.h @@ -145,3 +145,11 @@ # define __ASSUME_SENDMMSG_SYSCALL 1 # define __ASSUME_SENDMMSG 1 #endif + +/* Support for recvmsg and sendmsg was added in 2.6.12 in most architectures, + with some added later (for instance 2.6.37 for powerpc) and for some only + through syscall (with wire-up syscall added in later versionsi). Define + __ASSUME_RECVMSG_SYSCALL and __ASUME_SENDMSG_SYSCALL if glibc uses direct + syscall, otherwise glibc will use socketcall. */ +#define __ASSUME_SENDMSG_SYSCALL 1 +#define __ASSUME_RECVMSG_SYSCALL 1 diff --git a/sysdeps/unix/sysv/linux/m68k/kernel-features.h b/sysdeps/unix/sysv/linux/m68k/kernel-features.h index 646bc4b..dec04f0 100644 --- a/sysdeps/unix/sysv/linux/m68k/kernel-features.h +++ b/sysdeps/unix/sysv/linux/m68k/kernel-features.h @@ -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. */ diff --git a/sysdeps/unix/sysv/linux/microblaze/kernel-features.h b/sysdeps/unix/sysv/linux/microblaze/kernel-features.h index 3938989..db471ef 100644 --- a/sysdeps/unix/sysv/linux/microblaze/kernel-features.h +++ b/sysdeps/unix/sysv/linux/microblaze/kernel-features.h @@ -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 diff --git a/sysdeps/unix/sysv/linux/mips/syscalls.list b/sysdeps/unix/sysv/linux/mips/syscalls.list index db731b1..cd946a0 100644 --- a/sysdeps/unix/sysv/linux/mips/syscalls.list +++ b/sysdeps/unix/sysv/linux/mips/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/powerpc/kernel-features.h b/sysdeps/unix/sysv/linux/powerpc/kernel-features.h index 171c030..5449f18 100644 --- a/sysdeps/unix/sysv/linux/powerpc/kernel-features.h +++ b/sysdeps/unix/sysv/linux/powerpc/kernel-features.h @@ -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 diff --git a/sysdeps/unix/sysv/linux/s390/kernel-features.h b/sysdeps/unix/sysv/linux/s390/kernel-features.h index a6f131b..b3edee4 100644 --- a/sysdeps/unix/sysv/linux/s390/kernel-features.h +++ b/sysdeps/unix/sysv/linux/s390/kernel-features.h @@ -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 diff --git a/sysdeps/unix/sysv/linux/sh/kernel-features.h b/sysdeps/unix/sysv/linux/sh/kernel-features.h index 9b4d1c2..ad05fc3 100644 --- a/sysdeps/unix/sysv/linux/sh/kernel-features.h +++ b/sysdeps/unix/sysv/linux/sh/kernel-features.h @@ -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 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list b/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list index 3d1c1da..eecd837 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list @@ -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 diff --git a/sysdeps/unix/sysv/linux/x86_64/syscalls.list b/sysdeps/unix/sysv/linux/x86_64/syscalls.list index 2e4135f..d09d101 100644 --- a/sysdeps/unix/sysv/linux/x86_64/syscalls.list +++ b/sysdeps/unix/sysv/linux/x86_64/syscalls.list @@ -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