summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/readv.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-06-25 11:31:51 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-06-25 11:31:51 +0000
commit0f5b71850e7ae2a4fefade72c73556166d52bc93 (patch)
treeca6c2144d884f4bc76a1d81aba36d2be90323e34 /sysdeps/unix/sysv/linux/readv.c
parentc7aec4beb13f125948884d80158f11c34239c61f (diff)
downloadglibc-0f5b71850e7ae2a4fefade72c73556166d52bc93.tar.gz
Remove __ASSUME_COMPLETE_READV_WRITEV.
This patch removes the __ASSUME_COMPLETE_READV_WRITEV kernel-features.h macro, now that it can be unconditionally assumed to be true. (The relevant kernel feature was added some time between 2.0 and 2.2, and this macro is only used in sysdeps/unix/sysv/linux/.) Tested x86_64 that the disassembly of installed shared libraries is unchanged by this patch. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_COMPLETE_READV_WRITEV): Remove macro. * sysdeps/unix/sysv/linux/readv.c: Do not include <kernel-features.h>. [!__ASSUME_COMPLETE_READV_WRITEV]: Remove conditional code. [!UIO_FASTIOV] (UIO_FASTIOV): Remove macro. (__libc_readv) [__ASSUME_COMPLETE_READV_WRITEV]: Make code unconditional. (__libc_readv) [!__ASSUME_COMPLETE_READV_WRITEV]: Remove conditional code. * sysdeps/unix/sysv/linux/writev.c: Do not include <kernel-features.h>. [!__ASSUME_COMPLETE_READV_WRITEV]: Remove conditional code. [!UIO_FASTIOV] (UIO_FASTIOV): Remove macro. (__libc_writev) [__ASSUME_COMPLETE_READV_WRITEV]: Make code unconditional. (__libc_writev) [!__ASSUME_COMPLETE_READV_WRITEV]: Remove conditional code.
Diffstat (limited to 'sysdeps/unix/sysv/linux/readv.c')
-rw-r--r--sysdeps/unix/sysv/linux/readv.c25
1 files changed, 1 insertions, 24 deletions
diff --git a/sysdeps/unix/sysv/linux/readv.c b/sysdeps/unix/sysv/linux/readv.c
index 48eae46b81..a977d17748 100644
--- a/sysdeps/unix/sysv/linux/readv.c
+++ b/sysdeps/unix/sysv/linux/readv.c
@@ -23,19 +23,8 @@
#include <sysdep-cancel.h>
#include <sys/syscall.h>
-#include <kernel-features.h>
-
-#ifndef __ASSUME_COMPLETE_READV_WRITEV
-static ssize_t __atomic_readv_replacement (int, const struct iovec *,
- int) internal_function;
-#endif
-
-
-/* Not all versions of the kernel support the large number of records. */
-#ifndef UIO_FASTIOV
-# define UIO_FASTIOV 8 /* 8 is a safe number. */
-#endif
+/* Consider moving to syscalls.list. */
ssize_t
__libc_readv (fd, vector, count)
@@ -56,19 +45,7 @@ __libc_readv (fd, vector, count)
LIBC_CANCEL_RESET (oldtype);
}
-#ifdef __ASSUME_COMPLETE_READV_WRITEV
return result;
-#else
- if (result >= 0 || errno != EINVAL || count <= UIO_FASTIOV)
- return result;
-
- return __atomic_readv_replacement (fd, vector, count);
-#endif
}
strong_alias (__libc_readv, __readv)
weak_alias (__libc_readv, readv)
-
-#ifndef __ASSUME_COMPLETE_READV_WRITEV
-# define __libc_readv static internal_function __atomic_readv_replacement
-# include <sysdeps/posix/readv.c>
-#endif