mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-21 04:31:04 +08:00
f4491417cc
Explicit system calls for the socket operations were added in Linux kernel in commit 86250b9d12ca for powerpc. This patch make use of those instead of calling socketcall to save number of cycles on networking syscalls. 2015-08-25 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com> * sysdeps/unix/sysv/linux/powerpc/kernel-features.h: Define new macros. * sysdeps/unix/sysv/linux/accept.c: Call direct system call. * sysdeps/unix/sysv/linux/bind.c: Call direct system call. * sysdeps/unix/sysv/linux/connect.c: Call direct system call. * sysdeps/unix/sysv/linux/getpeername.c: Call direct system call. * sysdeps/unix/sysv/linux/getsockname.c: Call direct system call. * sysdeps/unix/sysv/linux/getsockopt.c: Call direct system call. * sysdeps/unix/sysv/linux/listen.c: Call direct system call. * sysdeps/unix/sysv/linux/recv.c: Call direct system call. * sysdeps/unix/sysv/linux/recvfrom.c: Call direct system call. * sysdeps/unix/sysv/linux/recvmsg.c: Call direct system call. * sysdeps/unix/sysv/linux/send.c: Call direct system call. * sysdeps/unix/sysv/linux/sendmsg.c: Call direct system call. * sysdeps/unix/sysv/linux/sendto.c: Call direct system call. * sysdeps/unix/sysv/linux/setsockopt.c: Call direct system call. * sysdeps/unix/sysv/linux/shutdown.c: Call direct system call. * sysdeps/unix/sysv/linux/socket.c: Call direct system call. * sysdeps/unix/sysv/linux/socketpair.c: Call direct system call.
61 lines
2.1 KiB
C
61 lines
2.1 KiB
C
/* Set flags signalling availability of kernel features based on given
|
|
kernel version number. PowerPC version.
|
|
Copyright (C) 1999-2015 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/>. */
|
|
|
|
/* PowerPC uses socketcall. */
|
|
#define __ASSUME_SOCKETCALL 1
|
|
|
|
/* The accept4 syscall was added for PowerPC in 2.6.37. */
|
|
#if __LINUX_KERNEL_VERSION >= 0x020625
|
|
# define __ASSUME_ACCEPT4_SYSCALL 1
|
|
#endif
|
|
|
|
/* The recvmmsg syscall was added for PowerPC in 2.6.37. */
|
|
#if __LINUX_KERNEL_VERSION >= 0x020625
|
|
# define __ASSUME_RECVMMSG_SYSCALL 1
|
|
#endif
|
|
|
|
/* New syscalls added for PowerPC in 2.6.37. */
|
|
#if __LINUX_KERNEL_VERSION >= 0x020625
|
|
# define __ASSUME_SOCKET_SYSCALL 1
|
|
# define __ASSUME_BIND_SYSCALL 1
|
|
# define __ASSUME_CONNECT_SYSCALL 1
|
|
# define __ASSUME_LISTEN_SYSCALL 1
|
|
# define __ASSUME_ACCEPT_SYSCALL 1
|
|
# define __ASSUME_GETSOCKNAME_SYSCALL 1
|
|
# define __ASSUME_GETPEERNAME_SYSCALL 1
|
|
# define __ASSUME_SOCKETPAIR_SYSCALL 1
|
|
# define __ASSUME_SEND_SYSCALL 1
|
|
# define __ASSUME_SENDTO_SYSCALL 1
|
|
# define __ASSUME_RECV_SYSCALL 1
|
|
# define __ASSUME_RECVFROM_SYSCALL 1
|
|
# define __ASSUME_SHUTDOWN_SYSCALL 1
|
|
# define __ASSUME_GETSOCKOPT_SYSCALL 1
|
|
# define __ASSUME_SETSOCKOPT_SYSCALL 1
|
|
# define __ASSUME_SENDMSG_SYSCALL 1
|
|
# define __ASSUME_RECVMSG_SYSCALL 1
|
|
#endif
|
|
|
|
/* The sendmmsg syscall was added for PowerPC in 3.0. */
|
|
#if __LINUX_KERNEL_VERSION >= 0x030000
|
|
# define __ASSUME_SENDMMSG_SYSCALL 1
|
|
#endif
|
|
#define __ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL 1
|
|
|
|
#include_next <kernel-features.h>
|