Adjust kernel-features.h defaults for socket syscalls.

This patch adjusts the defaults for kernel-features.h macros relating
to availability of accept4, recvmmsg and sendmmsg.  It is not intended
to affect which macros end up getting defined in any configuration.

At present, all architectures with syscalls for those functions need
to define __ASSUME_*_SYSCALL macros; in particular, any new
architecture needs its own kernel-features.h file for that purpose,
though it may not otherwise need such a header.  Those macros are then
used together with __ASSUME_SOCKETCALL to define macros for whether
the functions in question are available.

This patch changes the defaults so that the syscalls are assumed to be
available by default with recent-enough kernels, and it is the
responsibility of architecture headers to undefine the macros if they
are unavailable in supported kernels at least as recent as the version
where the architecture-independent functionality was introduced.  The
__ASSUME_<function> macros are defaulted similarly instead of being
defined based on other macros (defining based on other macros would no
longer work because the #undefs appear after the generic header is
included), so where the syscall being unavailable means the function
is unavailable this means the architecture header has to undefine the
__ASSUME_<function> macro; this only affects __ASSUME_ACCEPT4 for
ia64, as other cases where the syscalls were added late enough to be
relevant with current kernel version requirements are all on
socketcall architectures.

As a consequence, the AArch64 and Nios II kernel-features.h header
files are removed, and others simplified.  When the minimum kernel
version becomes 4.3 or later on all architectures, the syscalls in
question can just be assumed unconditionally, permitting further
simplification.

Tested for x86_64, x86 and powerpc (that installed shared libraries
are unchanged by the patch, and testsuite for x86_64 and x86).

	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_ACCEPT4_SYSCALL): Define unconditionally.
	(__ASSUME_ACCEPT4): Likewise.
	[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL):
	Define.
	[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG):
	Likewise.
	[__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL):
	Likewise.
	[__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG):
	Likewise.
	* sysdeps/unix/sysv/linux/aarch64/kernel-features.h: Remove file.
	* sysdeps/unix/sysv/linux/nios2/kernel-features.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/kernel-features.h
	(__ASSUME_RECVMMSG_SYSCALL): Do not define.
	(__ASSUME_ACCEPT4_SYSCALL): Likewise.
	(__ASSUME_SENDMMSG_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/arm/kernel-features.h
	(__ASSUME_RECVMMSG_SYSCALL): Likewise.
	(__ASSUME_ACCEPT4_SYSCALL): Likewise.
	(__ASSUME_SENDMMSG_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/hppa/kernel-features.h
	(__ASSUME_ACCEPT4_SYSCALL): Likewise.
	(__ASSUME_RECVMMSG_SYSCALL): Likewise.
	(__ASSUME_SENDMMSG_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/i386/kernel-features.h
	[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL):
	Likewise.
	[__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL):
	Likewise.
	(__ASSUME_ACCEPT4_SYSCALL): Undefine if [__LINUX_KERNEL_VERSION <
	0x040300] instead of defining if [__LINUX_KERNEL_VERSION >=
	0x040300].
	* sysdeps/unix/sysv/linux/ia64/kernel-features.h
	(__ASSUME_RECVMMSG_SYSCALL): Do not define.
	(__ASSUME_SENDMMSG_SYSCALL): Likewise.
	(__ASSUME_ACCEPT4_SYSCALL): Undefine if [__LINUX_KERNEL_VERSION <
	0x030300] instead of defining if [__LINUX_KERNEL_VERSION >=
	0x030300].
	[__LINUX_KERNEL_VERSION < 0x030300] (__ASSUME_ACCEPT4): Undefine.
	* sysdeps/unix/sysv/linux/m68k/kernel-features.h
	(__ASSUME_ACCEPT4_SYSCALL): Undefine if [__LINUX_KERNEL_VERSION <
	0x040300] instead of defining if [__LINUX_KERNEL_VERSION >=
	0x040300].
	(__ASSUME_RECVMMSG_SYSCALL): Likewise.
	(__ASSUME_SENDMMSG_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
	(__ASSUME_ACCEPT4_SYSCALL): Do not define.
	(__ASSUME_RECVMMSG_SYSCALL): Likewise.
	(__ASSUME_SENDMMSG_SYSCALL): Undefine if [__LINUX_KERNEL_VERSION <
	0x030300] instead of defining if [__LINUX_KERNEL_VERSION >=
	0x030300].
	* sysdeps/unix/sysv/linux/mips/kernel-features.h
	(__ASSUME_ACCEPT4_SYSCALL): Do not define.
	(__ASSUME_RECVMMSG_SYSCALL): Likewise.
	(__ASSUME_SENDMMSG_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/kernel-features.h
	(__ASSUME_ACCEPT4_SYSCALL): Likewise.
	(__ASSUME_RECVMMSG_SYSCALL): Likewise.
	(__ASSUME_SENDMMSG_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/s390/kernel-features.h
	(__ASSUME_ACCEPT4_SYSCALL): Undefine if [__LINUX_KERNEL_VERSION <
	0x040300] instead of defining if [__LINUX_KERNEL_VERSION >=
	0x040300].
	(__ASSUME_RECVMMSG_SYSCALL): Likewise.
	(__ASSUME_SENDMMSG_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/sh/kernel-features.h
	(__ASSUME_ACCEPT4_SYSCALL): Do not define.
	(__ASSUME_RECVMMSG_SYSCALL): Likewise.
	(__ASSUME_SENDMMSG_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/sparc/kernel-features.h
	(__ASSUME_ACCEPT4_SYSCALL): Likewise.
	(__ASSUME_RECVMMSG_SYSCALL): Likewise.
	(__ASSUME_SENDMMSG_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/tile/kernel-features.h
	(__ASSUME_ACCEPT4_SYSCALL): Likewise.
	(__ASSUME_RECVMMSG_SYSCALL): Likewise.
	(__ASSUME_SENDMMSG_SYSCALL): Likewise.
	* sysdeps/unix/sysv/linux/x86_64/kernel-features.h
	(__ASSUME_ACCEPT4_SYSCALL): Likewise.
	[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL):
	Likewise.
	[__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL):
	Likewise.
This commit is contained in:
Joseph Myers 2016-03-15 21:09:33 +00:00
parent 5e7fdabd7d
commit 35ade9f11b
18 changed files with 126 additions and 176 deletions

View File

@ -1,3 +1,90 @@
2016-03-15 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_ACCEPT4_SYSCALL): Define unconditionally.
(__ASSUME_ACCEPT4): Likewise.
[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL):
Define.
[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG):
Likewise.
[__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL):
Likewise.
[__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG):
Likewise.
* sysdeps/unix/sysv/linux/aarch64/kernel-features.h: Remove file.
* sysdeps/unix/sysv/linux/nios2/kernel-features.h: Likewise.
* sysdeps/unix/sysv/linux/alpha/kernel-features.h
(__ASSUME_RECVMMSG_SYSCALL): Do not define.
(__ASSUME_ACCEPT4_SYSCALL): Likewise.
(__ASSUME_SENDMMSG_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/arm/kernel-features.h
(__ASSUME_RECVMMSG_SYSCALL): Likewise.
(__ASSUME_ACCEPT4_SYSCALL): Likewise.
(__ASSUME_SENDMMSG_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/hppa/kernel-features.h
(__ASSUME_ACCEPT4_SYSCALL): Likewise.
(__ASSUME_RECVMMSG_SYSCALL): Likewise.
(__ASSUME_SENDMMSG_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/i386/kernel-features.h
[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL):
Likewise.
[__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL):
Likewise.
(__ASSUME_ACCEPT4_SYSCALL): Undefine if [__LINUX_KERNEL_VERSION <
0x040300] instead of defining if [__LINUX_KERNEL_VERSION >=
0x040300].
* sysdeps/unix/sysv/linux/ia64/kernel-features.h
(__ASSUME_RECVMMSG_SYSCALL): Do not define.
(__ASSUME_SENDMMSG_SYSCALL): Likewise.
(__ASSUME_ACCEPT4_SYSCALL): Undefine if [__LINUX_KERNEL_VERSION <
0x030300] instead of defining if [__LINUX_KERNEL_VERSION >=
0x030300].
[__LINUX_KERNEL_VERSION < 0x030300] (__ASSUME_ACCEPT4): Undefine.
* sysdeps/unix/sysv/linux/m68k/kernel-features.h
(__ASSUME_ACCEPT4_SYSCALL): Undefine if [__LINUX_KERNEL_VERSION <
0x040300] instead of defining if [__LINUX_KERNEL_VERSION >=
0x040300].
(__ASSUME_RECVMMSG_SYSCALL): Likewise.
(__ASSUME_SENDMMSG_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
(__ASSUME_ACCEPT4_SYSCALL): Do not define.
(__ASSUME_RECVMMSG_SYSCALL): Likewise.
(__ASSUME_SENDMMSG_SYSCALL): Undefine if [__LINUX_KERNEL_VERSION <
0x030300] instead of defining if [__LINUX_KERNEL_VERSION >=
0x030300].
* sysdeps/unix/sysv/linux/mips/kernel-features.h
(__ASSUME_ACCEPT4_SYSCALL): Do not define.
(__ASSUME_RECVMMSG_SYSCALL): Likewise.
(__ASSUME_SENDMMSG_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/powerpc/kernel-features.h
(__ASSUME_ACCEPT4_SYSCALL): Likewise.
(__ASSUME_RECVMMSG_SYSCALL): Likewise.
(__ASSUME_SENDMMSG_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/s390/kernel-features.h
(__ASSUME_ACCEPT4_SYSCALL): Undefine if [__LINUX_KERNEL_VERSION <
0x040300] instead of defining if [__LINUX_KERNEL_VERSION >=
0x040300].
(__ASSUME_RECVMMSG_SYSCALL): Likewise.
(__ASSUME_SENDMMSG_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/sh/kernel-features.h
(__ASSUME_ACCEPT4_SYSCALL): Do not define.
(__ASSUME_RECVMMSG_SYSCALL): Likewise.
(__ASSUME_SENDMMSG_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/sparc/kernel-features.h
(__ASSUME_ACCEPT4_SYSCALL): Likewise.
(__ASSUME_RECVMMSG_SYSCALL): Likewise.
(__ASSUME_SENDMMSG_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/tile/kernel-features.h
(__ASSUME_ACCEPT4_SYSCALL): Likewise.
(__ASSUME_RECVMMSG_SYSCALL): Likewise.
(__ASSUME_SENDMMSG_SYSCALL): Likewise.
* sysdeps/unix/sysv/linux/x86_64/kernel-features.h
(__ASSUME_ACCEPT4_SYSCALL): Likewise.
[__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL):
Likewise.
[__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL):
Likewise.
2016-03-15 Andreas Schwab <schwab@suse.de>
[BZ #19257]

View File

@ -1,31 +0,0 @@
/* Set flags signalling availability of kernel features based on given
kernel version number.
Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#include <linux/version.h>
/* AArch64 support starts with 3.7.0, guaranteeing many kernel
features. */
#define __ASSUME_ACCEPT4_SYSCALL 1
#define __ASSUME_RECVMMSG_SYSCALL 1
#define __ASSUME_SENDMMSG_SYSCALL 1
#include_next <kernel-features.h>

View File

@ -20,13 +20,6 @@
#ifndef _KERNEL_FEATURES_H
#define _KERNEL_FEATURES_H 1
/* Support for recvmmsg was added for alpha in 2.6.33. */
#define __ASSUME_RECVMMSG_SYSCALL 1
/* Support for accept4 and sendmmsg was added for alpha in 3.2. */
#define __ASSUME_ACCEPT4_SYSCALL 1
#define __ASSUME_SENDMMSG_SYSCALL 1
#include_next <kernel-features.h>
#undef __ASSUME_ST_INO_64_BIT

View File

@ -17,15 +17,6 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
/* Support for the recvmmsg syscall was added in 2.6.33. */
#define __ASSUME_RECVMMSG_SYSCALL 1
/* Support for the accept4 syscall was added in 2.6.36. */
#define __ASSUME_ACCEPT4_SYSCALL 1
/* Support for the sendmmsg syscall was added in 3.0. */
#define __ASSUME_SENDMMSG_SYSCALL 1
#include_next <kernel-features.h>
/* The ARM kernel before 3.14.3 may or may not support

View File

@ -18,13 +18,6 @@
<http://www.gnu.org/licenses/>. */
/* Support for the accept4 and recvmmsg syscalls was added in 2.6.34. */
#define __ASSUME_ACCEPT4_SYSCALL 1
#define __ASSUME_RECVMMSG_SYSCALL 1
/* Support for the sendmmsg syscall was added in 3.1. */
#define __ASSUME_SENDMMSG_SYSCALL 1
/* Support for the utimes syscall was added in 3.14. */
#if __LINUX_KERNEL_VERSION >= 0x030e00
# define __ASSUME_UTIMES 1

View File

@ -21,15 +21,9 @@
#define __ASSUME_SOCKETCALL 1
/* The recvmmsg syscall was added for i386 in 2.6.33. */
#if __LINUX_KERNEL_VERSION >= 0x020621
# define __ASSUME_RECVMMSG_SYSCALL 1
#endif
#define __ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL 1
/* The sendmmsg syscall was added for i386 in 3.0. */
#if __LINUX_KERNEL_VERSION >= 0x030000
# define __ASSUME_SENDMMSG_SYSCALL 1
#endif
#define __ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL 1
/* Direct socketcalls available with kernel 4.3. */
@ -39,7 +33,6 @@
# define __ASSUME_BIND_SYSCALL 1
# define __ASSUME_CONNECT_SYSCALL 1
# define __ASSUME_LISTEN_SYSCALL 1
# define __ASSUME_ACCEPT4_SYSCALL 1
# define __ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL 1
# define __ASSUME_GETSOCKOPT_SYSCALL 1
# define __ASSUME_SETSOCKOPT_SYSCALL 1
@ -55,3 +48,7 @@
#endif
#include_next <kernel-features.h>
#if __LINUX_KERNEL_VERSION < 0x040300
# undef __ASSUME_ACCEPT4_SYSCALL
#endif

View File

@ -20,17 +20,12 @@
#ifndef _KERNEL_FEATURES_H
#define _KERNEL_FEATURES_H 1
/* Support for the recvmmsg syscall was added in 2.6.33. */
#define __ASSUME_RECVMMSG_SYSCALL 1
/* Support for the sendmmsg syscall was added in 3.0. */
#define __ASSUME_SENDMMSG_SYSCALL 1
/* Support for the accept4 syscall was added in 3.3. */
#if __LINUX_KERNEL_VERSION >= 0x030300
# define __ASSUME_ACCEPT4_SYSCALL 1
#endif
#include_next <kernel-features.h>
/* Support for the accept4 syscall was added in 3.3. */
#if __LINUX_KERNEL_VERSION < 0x030300
# undef __ASSUME_ACCEPT4_SYSCALL
# undef __ASSUME_ACCEPT4
#endif
#endif /* _KERNEL_FEATURES_H */

View File

@ -106,10 +106,8 @@
#ifdef __ASSUME_SOCKETCALL
# define __ASSUME_ACCEPT4_SOCKETCALL 1
#endif
#if defined __ASSUME_ACCEPT4_SOCKETCALL || defined __ASSUME_ACCEPT4_SYSCALL
# define __ASSUME_ACCEPT4 1
#endif
#define __ASSUME_ACCEPT4_SYSCALL 1
#define __ASSUME_ACCEPT4 1
/* Support for the FUTEX_CLOCK_REALTIME flag was added in 2.6.29. */
#define __ASSUME_FUTEX_CLOCK_REALTIME 1
@ -125,11 +123,11 @@
/* Support for recvmmsg functionality was added in 2.6.33. The macros
defined correspond to those for accept4. */
#if __LINUX_KERNEL_VERSION >= 0x020621 && defined __ASSUME_SOCKETCALL
# define __ASSUME_RECVMMSG_SOCKETCALL 1
#endif
#if defined __ASSUME_RECVMMSG_SOCKETCALL || defined __ASSUME_RECVMMSG_SYSCALL
#if __LINUX_KERNEL_VERSION >= 0x020621
# ifdef __ASSUME_SOCKETCALL
# define __ASSUME_RECVMMSG_SOCKETCALL 1
# endif
# define __ASSUME_RECVMMSG_SYSCALL 1
# define __ASSUME_RECVMMSG 1
#endif
@ -151,10 +149,10 @@
/* Support for sendmmsg functionality was added in 3.0. The macros
defined correspond to those for accept4 and recvmmsg. */
#if __LINUX_KERNEL_VERSION >= 0x030000 && defined __ASSUME_SOCKETCALL
# define __ASSUME_SENDMMSG_SOCKETCALL 1
#endif
#if defined __ASSUME_SENDMMSG_SOCKETCALL || defined __ASSUME_SENDMMSG_SYSCALL
#if __LINUX_KERNEL_VERSION >= 0x030000
# ifdef __ASSUME_SOCKETCALL
# define __ASSUME_SENDMMSG_SOCKETCALL 1
# endif
# define __ASSUME_SENDMMSG_SYSCALL 1
# define __ASSUME_SENDMMSG 1
#endif

View File

@ -22,14 +22,11 @@
/* Direct socketcalls available with kernel 4.3. */
#if __LINUX_KERNEL_VERSION >= 0x040300
# define __ASSUME_RECVMMSG_SYSCALL 1
# define __ASSUME_SENDMMSG_SYSCALL 1
# define __ASSUME_SOCKET_SYSCALL 1
# define __ASSUME_SOCKETPAIR_SYSCALL 1
# define __ASSUME_BIND_SYSCALL 1
# define __ASSUME_CONNECT_SYSCALL 1
# define __ASSUME_LISTEN_SYSCALL 1
# define __ASSUME_ACCEPT4_SYSCALL 1
# define __ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL 1
# define __ASSUME_GETSOCKOPT_SYSCALL 1
# define __ASSUME_SETSOCKOPT_SYSCALL 1
@ -46,6 +43,12 @@
#include_next <kernel-features.h>
#if __LINUX_KERNEL_VERSION < 0x040300
# undef __ASSUME_ACCEPT4_SYSCALL
# undef __ASSUME_RECVMMSG_SYSCALL
# undef __ASSUME_SENDMMSG_SYSCALL
#endif
/* No support for PI futexes or robust mutexes before 3.10 for m68k. */
#if __LINUX_KERNEL_VERSION < 0x030a00
# undef __ASSUME_FUTEX_LOCK_PI

View File

@ -39,15 +39,8 @@
#define __ASSUME_RECVMSG_SYSCALL 1
/* Support for the accept4 and recvmmsg syscalls was added in 2.6.33. */
#define __ASSUME_ACCEPT4_SYSCALL 1
#define __ASSUME_RECVMMSG_SYSCALL 1
#define __ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL 1
/* Support for the sendmmsg syscall was added in 3.3. */
#if __LINUX_KERNEL_VERSION >= 0x030300
# define __ASSUME_SENDMMSG_SYSCALL 1
#endif
/* Support for the futimesat syscall was added in 2.6.33. */
#define __ASSUME_FUTIMESAT 1
@ -60,3 +53,8 @@
# undef __ASSUME_PREADV
# undef __ASSUME_PWRITEV
#endif
/* Support for the sendmmsg syscall was added in 3.3. */
#if __LINUX_KERNEL_VERSION < 0x030300
# undef __ASSUME_SENDMMSG_SYSCALL
#endif

View File

@ -19,15 +19,6 @@
#include <sgidefs.h>
/* Support for the accept4 syscall was added in 2.6.31. */
#define __ASSUME_ACCEPT4_SYSCALL 1
/* Support for the recvmmsg syscall was added in 2.6.33. */
#define __ASSUME_RECVMMSG_SYSCALL 1
/* Support for the sendmmsg syscall was added in 3.1. */
#define __ASSUME_SENDMMSG_SYSCALL 1
#include_next <kernel-features.h>
/* The MIPS kernel does not support futex_atomic_cmpxchg_inatomic if

View File

@ -1,31 +0,0 @@
/* Set flags signalling availability of kernel features based on given
kernel version number.
Copyright (C) 2009-2016 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#include <linux/version.h>
/* The minimum supported kernel version for Nios II is 3.19.0,
guaranteeing many kernel features. */
#define __ASSUME_ACCEPT4_SYSCALL 1
#define __ASSUME_RECVMMSG_SYSCALL 1
#define __ASSUME_SENDMMSG_SYSCALL 1
#include_next <kernel-features.h>

View File

@ -20,12 +20,6 @@
/* PowerPC uses socketcall. */
#define __ASSUME_SOCKETCALL 1
/* The accept4 syscall was added for PowerPC in 2.6.37. */
#define __ASSUME_ACCEPT4_SYSCALL 1
/* The recvmmsg syscall was added for PowerPC in 2.6.37. */
#define __ASSUME_RECVMMSG_SYSCALL 1
/* New syscalls added for PowerPC in 2.6.37. */
#define __ASSUME_SOCKET_SYSCALL 1
#define __ASSUME_BIND_SYSCALL 1
@ -46,7 +40,6 @@
#define __ASSUME_RECVMSG_SYSCALL 1
/* The sendmmsg syscall was added for PowerPC in 3.0. */
#define __ASSUME_SENDMMSG_SYSCALL 1
#define __ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL 1
#include_next <kernel-features.h>

View File

@ -22,14 +22,11 @@
/* Direct socketcalls available with kernel 4.3. */
#if __LINUX_KERNEL_VERSION >= 0x040300
# define __ASSUME_RECVMMSG_SYSCALL 1
# define __ASSUME_SENDMMSG_SYSCALL 1
# define __ASSUME_SOCKET_SYSCALL 1
# define __ASSUME_SOCKETPAIR_SYSCALL 1
# define __ASSUME_BIND_SYSCALL 1
# define __ASSUME_CONNECT_SYSCALL 1
# define __ASSUME_LISTEN_SYSCALL 1
# define __ASSUME_ACCEPT4_SYSCALL 1
# define __ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL 1
# define __ASSUME_GETSOCKOPT_SYSCALL 1
# define __ASSUME_SETSOCKOPT_SYSCALL 1
@ -45,3 +42,9 @@
#endif
#include_next <kernel-features.h>
#if __LINUX_KERNEL_VERSION < 0x040300
# undef __ASSUME_ACCEPT4_SYSCALL
# undef __ASSUME_RECVMMSG_SYSCALL
# undef __ASSUME_SENDMMSG_SYSCALL
#endif

View File

@ -39,14 +39,7 @@
#define __ASSUME_SENDMSG_SYSCALL 1
#define __ASSUME_RECVMSG_SYSCALL 1
/* The accept4 syscall was added for SH in 2.6.37. */
#define __ASSUME_ACCEPT4_SYSCALL 1
/* The recvmmsg syscall was added for SH in 2.6.37. */
#define __ASSUME_RECVMMSG_SYSCALL 1
/* The sendmmsg syscall was added for SH in 3.0. */
#define __ASSUME_SENDMMSG_SYSCALL 1
#define __ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL 1
#include_next <kernel-features.h>

View File

@ -21,15 +21,12 @@
#define __ASSUME_SOCKETCALL 1
/* The accept4 syscall was added for SPARC in 2.6.28. */
#define __ASSUME_ACCEPT4_SYSCALL 1
#define __ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL 1
/* The recvmmsg syscall was added for SPARC in 2.6.33. */
#define __ASSUME_RECVMMSG_SYSCALL 1
#define __ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL 1
/* The sendmmsg syscall was added for SPARC in 3.0. */
#define __ASSUME_SENDMMSG_SYSCALL 1
#define __ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL 1
#include_next <kernel-features.h>

View File

@ -17,13 +17,6 @@
<http://www.gnu.org/licenses/>. */
/* TILE glibc support starts with 2.6.36, guaranteeing many kernel features. */
#define __ASSUME_ACCEPT4_SYSCALL 1
#define __ASSUME_RECVMMSG_SYSCALL 1
/* Support for the sendmmsg syscall was added in 3.0. */
#define __ASSUME_SENDMMSG_SYSCALL 1
#include_next <kernel-features.h>
/* Define this if your 32-bit syscall API requires 64-bit register

View File

@ -17,19 +17,6 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/* The accept4 syscall was added for x86-64 in 2.6.28. */
#define __ASSUME_ACCEPT4_SYSCALL 1
/* The recvmmsg syscall was added for x86-64 in 2.6.33. */
#if __LINUX_KERNEL_VERSION >= 0x020621
# define __ASSUME_RECVMMSG_SYSCALL 1
#endif
/* The sendmmsg syscall was added for x86-64 in 3.0. */
#if __LINUX_KERNEL_VERSION >= 0x030000
# define __ASSUME_SENDMMSG_SYSCALL 1
#endif
/* getcpu is a syscall for x86-64 since 3.1. */
#if __LINUX_KERNEL_VERSION >= 0x030100
# define __ASSUME_GETCPU_SYSCALL 1