glibc/sysdeps/unix/sysv/linux/generic
Adhemerval Zanella 06cf371e97 Consolidate Linux sendto implementation
This patch consolidates the sendto Linux syscall implementation on
sysdeps/unix/sysv/linux/sendto.c.  The changes are:

   1. Define __ASSUME_SENDTO_SYSCALL by default.
   2. Undef it for architectures that do not support __NR_sendto.

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/alpha/syscalls.list: Remove sendto 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/kernel-features.h
	(__ASSUME_SENDTO_SYSCALL): Define by default.
	* sysdeps/unix/sysv/linux/i386/kernel-features.h
	(__ASSUME_SENDTO_SYSCALL): Undef it is kernel does not support
	__NR_sendto.
	* sysdeps/unix/sysv/linux/m68k/kernel-features.h
	(__ASSUME_SENDTO_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/s390/kernel-features.h
	(__ASSUME_SENDTO_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
	(__ASSUME_SENDTO_SYSCALL): Remove definition.
	* sysdeps/unix/sysv/linux/powerpc/kernel-features.h
	(__ASSUME_SENDTO_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/sh/kernel-features.h:
	(__ASSUME_SENDTO_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/sendto.c: Simplify includes.
2017-03-09 15:22:06 +01:00
..
bits Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Makefile
README
____longjmp_chk.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
brk.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
chmod.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
chown.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
creat.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dl-origin.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dup2.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
epoll_create.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
epoll_wait.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
futimesat.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getdents.c
getdents64.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
inotify_init.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
kernel_stat.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
lchown.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
link.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
lxstat.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mkdir.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
open.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
open64.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
pause.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
pipe.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
poll.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
readlink.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
readlink_chk.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
rmdir.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
select.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
send.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
symlink.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
syscalls.list Consolidate Linux sendto implementation 2017-03-09 15:22:06 +01:00
sysctl.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sysdep.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
umount.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
unlink.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ustat.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
utimes.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
xmknod.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
xstat.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00

README

This hierarchy supports Linux systems using the new
asm-generic/unistd.h, which removes many familiar old syscalls.  For
example, to implement open(), newer Linux architectures require glibc
to invoke the __NR_openat syscall with AT_FDCWD.  This hierarchy
provides all those implementations.

It also provides support for 32-bit platforms using the 64-bit kernel
syscall APIs, as the 32-bit ones are no longer provided.  Note that
newer ILP32 environments (x32 or AArch64:ILP32, for example) are
converting to use more 64-bit types in kernel syscalls, so that aspect
of this support is in more flux as of this writing.