diff options
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/Versions | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/bits/fcntl.h | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/bits/fcntl.h | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/bits/fcntl.h | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/s390/bits/fcntl.h | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sh/bits/fcntl.h | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/bits/fcntl.h | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/syscalls.list | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h | 9 |
11 files changed, 76 insertions, 6 deletions
@@ -1,5 +1,18 @@ 2006-04-26 Ulrich Drepper <drepper@redhat.com> + * sysdeps/unix/sysv/linux/syscalls.list: Add vmsplice. + * sysdeps/unix/sysv/linux/Versions: Export vmsplice@@GLIBC_2.5. + * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Declare vmsplice. + * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise. + + * sysdeps/unix/sysv/linux/bits/uio.h: Fix a typo in a comment. + * sysdeps/posix/getaddrinfo.c (getaddrinfo): Fix typo which caused bugs not to be reported. diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions index ad7a8701fd..7c015b1d62 100644 --- a/sysdeps/unix/sysv/linux/Versions +++ b/sysdeps/unix/sysv/linux/Versions @@ -124,7 +124,7 @@ libc { _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; } GLIBC_2.5 { - splice; sync_file_range; tee; + splice; sync_file_range; tee; vmsplice; } GLIBC_PRIVATE { # functions used in other libraries diff --git a/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h index 6898fe8743..4a20f1d673 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h @@ -21,8 +21,10 @@ # error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." #endif - #include <sys/types.h> +#ifdef __USE_GNU +# include <bits/uio.h> +#endif /* open/fcntl - O_SYNC is only implemented on blocks devices and on files @@ -200,6 +202,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/i386/bits/fcntl.h b/sysdeps/unix/sysv/linux/i386/bits/fcntl.h index a375888106..82f06332be 100644 --- a/sysdeps/unix/sysv/linux/i386/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/i386/bits/fcntl.h @@ -22,8 +22,11 @@ # error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." #endif - #include <sys/types.h> +#ifdef __USE_GNU +# include <bits/uio.h> +#endif + /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -207,6 +210,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h b/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h index 63a771ddb9..1d684ad367 100644 --- a/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h @@ -23,6 +23,9 @@ #include <sys/types.h> +#ifdef __USE_GNU +# include <bits/uio.h> +#endif /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -201,6 +204,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h b/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h index 2219271a1b..2843c6e9cc 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h @@ -22,8 +22,11 @@ # error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." #endif - #include <sys/types.h> +#ifdef __USE_GNU +# include <bits/uio.h> +#endif + /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -207,6 +210,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/s390/bits/fcntl.h b/sysdeps/unix/sysv/linux/s390/bits/fcntl.h index ad3ef420a1..7a9aa5738e 100644 --- a/sysdeps/unix/sysv/linux/s390/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/s390/bits/fcntl.h @@ -23,6 +23,10 @@ #include <sys/types.h> #include <bits/wordsize.h> +#ifdef __USE_GNU +# include <bits/uio.h> +#endif + /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -226,6 +230,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h index a375888106..82f06332be 100644 --- a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h @@ -22,8 +22,11 @@ # error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." #endif - #include <sys/types.h> +#ifdef __USE_GNU +# include <bits/uio.h> +#endif + /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -207,6 +210,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h index b3788f0daf..e8cc3987e3 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h @@ -24,6 +24,9 @@ #include <sys/types.h> #include <bits/wordsize.h> +#ifdef __USE_GNU +# include <bits/uio.h> +#endif /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -226,6 +229,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list index 6bfccd26aa..969d054c62 100644 --- a/sysdeps/unix/sysv/linux/syscalls.list +++ b/sysdeps/unix/sysv/linux/syscalls.list @@ -77,6 +77,7 @@ swapoff - swapoff i:s __swapoff swapoff tee EXTRA tee i:iiii tee unshare EXTRA unshare i:i unshare uselib EXTRA uselib i:s uselib +vmsplice EXTRA vmsplice i:iPii vmsplice wait4 - wait4 i:iWiP __wait4 wait4 chown - chown i:sii __libc_chown __chown chown diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h b/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h index 2351737f7c..ad4c1443e4 100644 --- a/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h @@ -21,9 +21,12 @@ # error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." #endif - #include <sys/types.h> #include <bits/wordsize.h> +#ifdef __USE_GNU +# include <bits/uio.h> +#endif + /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -221,6 +224,10 @@ extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, unsigned int __flags); +/* Splice address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + /* Splice two files together. */ extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) __THROW; |