From: Ulrich Drepper Date: Wed, 26 Apr 2006 22:29:43 +0000 (+0000) Subject: * sysdeps/unix/sysv/linux/syscalls.list: Add vmsplice. X-Git-Tag: cvs/fedora-glibc-20060427T2122~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c8c3ab914e7e401bb470037002b546afb1d83133;p=thirdparty%2Fglibc.git * 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. --- diff --git a/ChangeLog b/ChangeLog index 8e4d31b7815..a3e7d0c4c70 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,18 @@ 2006-04-26 Ulrich Drepper + * 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 ad7a8701fdd..7c015b1d620 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 6898fe87432..4a20f1d673e 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 directly; include instead." #endif - #include +#ifdef __USE_GNU +# include +#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 a375888106a..82f06332be7 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 directly; include instead." #endif - #include +#ifdef __USE_GNU +# include +#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 63a771ddb9d..1d684ad3673 100644 --- a/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h @@ -23,6 +23,9 @@ #include +#ifdef __USE_GNU +# include +#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 2219271a1b3..2843c6e9ccb 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 directly; include instead." #endif - #include +#ifdef __USE_GNU +# include +#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 ad3ef420a1c..7a9aa5738ef 100644 --- a/sysdeps/unix/sysv/linux/s390/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/s390/bits/fcntl.h @@ -23,6 +23,10 @@ #include #include +#ifdef __USE_GNU +# include +#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 a375888106a..82f06332be7 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 directly; include instead." #endif - #include +#ifdef __USE_GNU +# include +#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 b3788f0daf8..e8cc3987e30 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h @@ -24,6 +24,9 @@ #include #include +#ifdef __USE_GNU +# include +#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 6bfccd26aa4..969d054c625 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 2351737f7c5..ad4c1443e40 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 directly; include instead." #endif - #include #include +#ifdef __USE_GNU +# include +#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;