diff options
author | Jakub Jelinek <jakub@redhat.com> | 2009-11-06 09:26:31 -0800 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-11-06 09:26:31 -0800 |
commit | 34df851b3364e14133b865574dbc5f2a8b88874e (patch) | |
tree | 50e308ab7bddcf32129c5ddd58db01ba71502976 | |
parent | 13f6812ffb5b8ad8c343d49e0be7e5ae0d31dc8e (diff) | |
download | glibc-34df851b3364e14133b865574dbc5f2a8b88874e.tar.gz glibc-34df851b3364e14133b865574dbc5f2a8b88874e.tar.xz glibc-34df851b3364e14133b865574dbc5f2a8b88874e.zip |
Fix preadv, pwritev and fallocate for -D_FILE_OFFSET_BITS=64.
As reported in http://bugzilla.redhat.com/533063 , preadv/pwritev prototypes are wrong on 32-bit arches with -D_FILE_OFFSET_BITS=64 and as I've just found, fallocate is wrong too. The problem is that only off_t is remapped to the 64-bit type transparently, __off_t is not.
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | misc/sys/uio.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/bits/fcntl.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/ia64/bits/fcntl.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/s390/bits/fcntl.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sh/bits/fcntl.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/bits/fcntl.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h | 4 |
9 files changed, 30 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog index e6efe933c7..5c4b5d497f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2009-11-04 Jakub Jelinek <jakub@redhat.com> + + * misc/sys/uio.h (preadv, pwritev): Fix type of last argument + when -D_FILE_OFFSET_BITS=64. + + * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (fallocate): Fix types + of last two arguments when -D_FILE_OFFSET_BITS=64. + * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (fallocate): Likewise. + * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (fallocate): Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (fallocate): Likewise. + * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (fallocate): Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (fallocate): Likewise. + * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (fallocate): Likewise. + 2009-11-03 Andreas Schwab <schwab@linux-m68k.org> [BZ #4457] diff --git a/misc/sys/uio.h b/misc/sys/uio.h index 05d956bfd3..a32b7ed8e5 100644 --- a/misc/sys/uio.h +++ b/misc/sys/uio.h @@ -80,10 +80,10 @@ extern ssize_t pwritev (int __fd, __const struct iovec *__iovec, int __count, # else # ifdef __REDIRECT extern ssize_t __REDIRECT (preadv, (int __fd, __const struct iovec *__iovec, - int __count, __off_t __offset), + int __count, __off64_t __offset), preadv64) __wur; extern ssize_t __REDIRECT (pwritev, (int __fd, __const struct iovec *__iovec, - int __count, __off_t __offset), + int __count, __off64_t __offset), pwritev64) __wur; # else # define preadv preadv64 diff --git a/sysdeps/unix/sysv/linux/i386/bits/fcntl.h b/sysdeps/unix/sysv/linux/i386/bits/fcntl.h index 06b9e48acc..6a38dc03fe 100644 --- a/sysdeps/unix/sysv/linux/i386/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/i386/bits/fcntl.h @@ -259,8 +259,8 @@ extern ssize_t tee (int __fdin, int __fdout, size_t __len, extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len); # else # ifdef __REDIRECT -extern int __REDIRECT (fallocate, (int __fd, int __mode, __off_t __offset, - __off_t __len), +extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset, + __off64_t __len), fallocate64); # else # define fallocate fallocate64 diff --git a/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h b/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h index 9677394773..9a0245a6c4 100644 --- a/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h @@ -253,8 +253,8 @@ extern ssize_t tee (int __fdin, int __fdout, size_t __len, extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len); # else # ifdef __REDIRECT -extern int __REDIRECT (fallocate, (int __fd, int __mode, __off_t __offset, - __off_t __len), +extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset, + __off64_t __len), fallocate64); # else # define fallocate fallocate64 diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h b/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h index ea0ee6e551..6c4b66b7ac 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h @@ -259,8 +259,8 @@ extern ssize_t tee (int __fdin, int __fdout, size_t __len, extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len); # else # ifdef __REDIRECT -extern int __REDIRECT (fallocate, (int __fd, int __mode, __off_t __offset, - __off_t __len), +extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset, + __off64_t __len), fallocate64); # else # define fallocate fallocate64 diff --git a/sysdeps/unix/sysv/linux/s390/bits/fcntl.h b/sysdeps/unix/sysv/linux/s390/bits/fcntl.h index 3a11c48e04..d3dddbc368 100644 --- a/sysdeps/unix/sysv/linux/s390/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/s390/bits/fcntl.h @@ -279,8 +279,8 @@ extern ssize_t tee (int __fdin, int __fdout, size_t __len, extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len); # else # ifdef __REDIRECT -extern int __REDIRECT (fallocate, (int __fd, int __mode, __off_t __offset, - __off_t __len), +extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset, + __off64_t __len), fallocate64); # else # define fallocate fallocate64 diff --git a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h index 03ecd72fea..d7a21ea2e2 100644 --- a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h @@ -259,8 +259,8 @@ extern ssize_t tee (int __fdin, int __fdout, size_t __len, extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len); # else # ifdef __REDIRECT -extern int __REDIRECT (fallocate, (int __fd, int __mode, __off_t __offset, - __off_t __len), +extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset, + __off64_t __len), fallocate64); # else # define fallocate fallocate64 diff --git a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h index 2b8c9bd102..dfa848a377 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h @@ -278,8 +278,8 @@ extern ssize_t tee (int __fdin, int __fdout, size_t __len, extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len); # else # ifdef __REDIRECT -extern int __REDIRECT (fallocate, (int __fd, int __mode, __off_t __offset, - __off_t __len), +extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset, + __off64_t __len), fallocate64); # else # define fallocate fallocate64 diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h b/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h index 29c956cdf8..c3eb859e7d 100644 --- a/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h @@ -273,8 +273,8 @@ extern ssize_t tee (int __fdin, int __fdout, size_t __len, extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len); # else # ifdef __REDIRECT -extern int __REDIRECT (fallocate, (int __fd, int __mode, __off_t __offset, - __off_t __len), +extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset, + __off64_t __len), fallocate64); # else # define fallocate fallocate64 |