glibc/sysdeps/unix/sysv/linux/generic
Adhemerval Zanella abf29edd4a 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.
2016-05-25 17:27:57 -03:00
..
bits Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
wordsize-32 Consolidate pwrite/pwrite64 implementations 2016-04-11 10:08:01 -03:00
____longjmp_chk.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
access.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
brk.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
chmod.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
chown.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
creat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-origin.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dup2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
epoll_create.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
epoll_wait.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
futimesat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getdents.c Move tilegx, tilepro, and linux-generic from ports to libc. 2014-02-10 11:04:39 -05:00
getdents64.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
inotify_init.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
kernel_stat.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
lchown.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
link.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
lxstat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Makefile Move tilegx, tilepro, and linux-generic from ports to libc. 2014-02-10 11:04:39 -05:00
mkdir.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
open.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
open64.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pause.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pipe.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
poll.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
readlink.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
readlink_chk.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
README linux-generic: add a README 2015-03-19 13:33:01 -04:00
recv.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
rename.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
rmdir.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
select.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
send.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
symlink.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
syscalls.list Adjust kernel-features.h defaults for recvmsg and sendmsg 2016-05-25 17:27:57 -03:00
sysctl.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sysdep.h Consolidate off_t/off64_t syscall argument passing 2016-04-11 10:07:53 -03:00
umount.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
unlink.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ustat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
utimes.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
xmknod.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
xstat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00

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.