GNU C Library master sources branch master updated. glibc-2.19-672-g0f5b718
jsm28@sourceware.org
jsm28@sourceware.org
Wed Jun 25 11:32:00 GMT 2014
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 0f5b71850e7ae2a4fefade72c73556166d52bc93 (commit)
from c7aec4beb13f125948884d80158f11c34239c61f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=0f5b71850e7ae2a4fefade72c73556166d52bc93
commit 0f5b71850e7ae2a4fefade72c73556166d52bc93
Author: Joseph Myers <joseph@codesourcery.com>
Date: Wed Jun 25 11:31:51 2014 +0000
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.
diff --git a/ChangeLog b/ChangeLog
index ad4ece6..60a665d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2014-06-25 Joseph Myers <joseph@codesourcery.com>
+
+ * 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.
+
2014-06-25 Will Newton <will.newton@linaro.org>
* sysdeps/posix/tempname.c: Merge from gnulib, cosmetic
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index b39b295..015b1c7 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -94,11 +94,6 @@
# define __ASSUME_SET_ROBUST_LIST 1
#endif
-/* Pessimistically assume that 2.6.18 introduced real handling of
- large numbers of requests to readv and writev and that we don't
- need a fallback. It likely worked for much longer. */
-#define __ASSUME_COMPLETE_READV_WRITEV 1
-
/* Support for PI futexes was added in 2.6.18 (but some architectures
lack futex_atomic_cmpxchg_inatomic in some configurations). */
#if !(defined __sparc__ && !defined __arch64__ && !defined __sparc_v9__)
diff --git a/sysdeps/unix/sysv/linux/readv.c b/sysdeps/unix/sysv/linux/readv.c
index 48eae46..a977d17 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
diff --git a/sysdeps/unix/sysv/linux/writev.c b/sysdeps/unix/sysv/linux/writev.c
index 06c4c9c..f19221f 100644
--- a/sysdeps/unix/sysv/linux/writev.c
+++ b/sysdeps/unix/sysv/linux/writev.c
@@ -23,19 +23,9 @@
#include <sysdep-cancel.h>
#include <sys/syscall.h>
-#include <kernel-features.h>
-#ifndef __ASSUME_COMPLETE_READV_WRITEV
-static ssize_t __atomic_writev_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_writev (fd, vector, count)
@@ -56,19 +46,7 @@ __libc_writev (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_writev_replacement (fd, vector, count);
-#endif
}
strong_alias (__libc_writev, __writev)
weak_alias (__libc_writev, writev)
-
-#ifndef __ASSUME_COMPLETE_READV_WRITEV
-# define __libc_writev static internal_function __atomic_writev_replacement
-# include <sysdeps/posix/writev.c>
-#endif
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 21 +++++++++++++++++++++
sysdeps/unix/sysv/linux/kernel-features.h | 5 -----
sysdeps/unix/sysv/linux/readv.c | 25 +------------------------
sysdeps/unix/sysv/linux/writev.c | 24 +-----------------------
4 files changed, 23 insertions(+), 52 deletions(-)
hooks/post-receive
--
GNU C Library master sources
More information about the Glibc-cvs
mailing list