diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.com> | 2017-03-06 15:13:03 +0100 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.com> | 2017-03-09 15:22:06 +0100 |
commit | 60f9423b6b02d79f8fef65552ecd21e0fd097774 (patch) | |
tree | b4bdcf27f2c3b709e1e3afcc09a32b8aec3e9a5d /ChangeLog | |
parent | 06cf371e978cde2df19efa1474791bd2532f529b (diff) | |
download | glibc-60f9423b6b02d79f8fef65552ecd21e0fd097774.tar.gz |
Consolidate Linux send implementation
This patch consolidates the send Linux syscall implementation on
sysdeps/unix/sysv/linux/send{to}.c. The changes are:
1. Remove send from auto-generation syscalls.list on the architecture
that uses __NR_send.
2. Define __NR_send for architectures that supports it. It was done instead
of defining in default kernel-features.h because current Linux practice
for new ports are to implement only __NR_sendto [1] and it will
require adding new kernel-features for ports that do not require it
(aarch64 for instance).
3. Remove __ASSUME_SENDTO_FOR_SEND_SYSCALL and decide to use
__NR_sendto for send generation based on __ASSUME_SENDTO_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/sysdep.h (HAVE_INTERNAL_SEND_SYMBOL):
Define.
* sysdeps/unix/sysv/linux/aarch64/sysdep.h
(HAVE_INTERNAL_SEND_SYMBOL): Undefine.
* sysdeps/unix/sysv/linux/nios2/sysdep.h
(HAVE_INTERNAL_SEND_SYMBOL): Likewise.
* sysdeps/unix/sysv/linux/tile/sysdep.h
(HAVE_INTERNAL_SEND_SYMBOL): Likewise.
* sysdeps/unix/sysv/linux/alpha/kernel-features.h
(__ASSUME_RECV_SYSCALL): Define.
* sysdeps/unix/sysv/linux/arm/kernel-features.h
(__ASSUME_RECV_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/hppa/kernel-features.h
(__ASSUME_RECV_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/ia64/kernel-features.h
(__ASSUME_RECV_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/mips/kernel-features.h
(__ASSUME_RECV_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/i386/kernel-features.h
(__ASSUME_SENDTO_FOR_SEND_SYSCALL): Remove define.
* sysdeps/unix/sysv/linux/m68k/kernel-features.h
(__ASSUME_SENDTO_FOR_SEND_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/s390/kernel-features.h
(__ASSUME_SENDTO_FOR_SEND_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove send from
auto-generation list.
* sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewike.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/send.c: Simplify includes.
(__ASSUME_SENDTO_FOR_SEND_SYSCALL): Replace by
__ASSUME_SENDTO_SYSCALL.
* sysdeps/unix/sysv/linux/x86_64/send.c: Remove file.
* sysdeps/unix/sysv/linux/mips/mips64/send.c: Likewise.
* sysdeps/unix/sysv/linux/generic/send.c: Likewise.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 38 |
1 files changed, 38 insertions, 0 deletions
@@ -1,5 +1,43 @@ 2016-03-08 Adhemerval Zanella <adhemerval.zanella@linaro.org> + * sysdeps/unix/sysv/linux/sysdep.h (HAVE_INTERNAL_SEND_SYMBOL): + Define. + * sysdeps/unix/sysv/linux/aarch64/sysdep.h + (HAVE_INTERNAL_SEND_SYMBOL): Undefine. + * sysdeps/unix/sysv/linux/nios2/sysdep.h + (HAVE_INTERNAL_SEND_SYMBOL): Likewise. + * sysdeps/unix/sysv/linux/tile/sysdep.h + (HAVE_INTERNAL_SEND_SYMBOL): Likewise. + * sysdeps/unix/sysv/linux/alpha/kernel-features.h + (__ASSUME_RECV_SYSCALL): Define. + * sysdeps/unix/sysv/linux/arm/kernel-features.h + (__ASSUME_RECV_SYSCALL): Likewise. + * sysdeps/unix/sysv/linux/hppa/kernel-features.h + (__ASSUME_RECV_SYSCALL): Likewise. + * sysdeps/unix/sysv/linux/ia64/kernel-features.h + (__ASSUME_RECV_SYSCALL): Likewise. + * sysdeps/unix/sysv/linux/mips/kernel-features.h + (__ASSUME_RECV_SYSCALL): Likewise. + * sysdeps/unix/sysv/linux/i386/kernel-features.h + (__ASSUME_SENDTO_FOR_SEND_SYSCALL): Remove define. + * sysdeps/unix/sysv/linux/m68k/kernel-features.h + (__ASSUME_SENDTO_FOR_SEND_SYSCALL): Likewise. + * sysdeps/unix/sysv/linux/s390/kernel-features.h + (__ASSUME_SENDTO_FOR_SEND_SYSCALL): Likewise. + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove send from + auto-generation list. + * sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewike. + * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/send.c: Simplify includes. + (__ASSUME_SENDTO_FOR_SEND_SYSCALL): Replace by + __ASSUME_SENDTO_SYSCALL. + * sysdeps/unix/sysv/linux/x86_64/send.c: Remove file. + * sysdeps/unix/sysv/linux/mips/mips64/send.c: Likewise. + * sysdeps/unix/sysv/linux/generic/send.c: Likewise. + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove sendto from auto-generation list. * sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise. |