]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - sysdeps/unix/sysv/linux/microblaze/kernel-features.h
Use execveat syscall in fexecve (bug 22134)
[thirdparty/glibc.git] / sysdeps / unix / sysv / linux / microblaze / kernel-features.h
index dcc0ac9bbc11c02eed70592995b11a0e3114e7cc..6575df2a95727b59577bc73f3c70d3b4e0fa0281 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2014 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2017 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
    <http://www.gnu.org/licenses/>.  */
 
 
-/* MicroBlaze glibc support starts with 2.6.30, guaranteeing many kernel features.  */
-#define __ASSUME_UTIMES         1
-#define __ASSUME_O_CLOEXEC      1
-#define __ASSUME_SOCK_CLOEXEC   1
-#define __ASSUME_IN_NONBLOCK    1
-#define __ASSUME_PIPE2          1
-#define __ASSUME_EVENTFD2       1
-#define __ASSUME_SIGNALFD4      1
-#define __ASSUME_ACCEPT4        1
-#define __ASSUME_DUP3           1
+/* MicroBlaze uses socketcall.  */
+#define __ASSUME_SOCKETCALL    1
+
+/* All supported kernel versions for MicroBlaze have these syscalls.  */
+#define __ASSUME_SOCKET_SYSCALL                1
+#define __ASSUME_BIND_SYSCALL          1
+#define __ASSUME_CONNECT_SYSCALL       1
+#define __ASSUME_LISTEN_SYSCALL                1
+#define __ASSUME_GETSOCKNAME_SYSCALL   1
+#define __ASSUME_GETPEERNAME_SYSCALL   1
+#define __ASSUME_SOCKETPAIR_SYSCALL    1
+#define __ASSUME_SEND_SYSCALL          1
+#define __ASSUME_RECV_SYSCALL          1
+#define __ASSUME_SHUTDOWN_SYSCALL      1
+#define __ASSUME_GETSOCKOPT_SYSCALL    1
+#define __ASSUME_SETSOCKOPT_SYSCALL    1
 
 #include_next <kernel-features.h>
+
+/* Support for the pselect6, preadv and pwritev syscalls was added in
+   3.15.  */
+#if __LINUX_KERNEL_VERSION < 0x030f00
+# undef __ASSUME_PSELECT
+# 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
+
+/* Support for the execveat syscall was added in 4.0.  */
+#if __LINUX_KERNEL_VERSION < 0x040000
+# undef __ASSUME_EXECVEAT
+#endif