From: Joseph Myers Date: Wed, 19 Mar 2014 13:10:52 +0000 (+0000) Subject: Fix __ASSUME_PREADV and __ASSUME_PWRITEV for Alpha and MicroBlaze (bug 16649). X-Git-Tag: glibc-2.20~718 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b1115e916a2d94d85a110126f8781f0717269766;p=thirdparty%2Fglibc.git Fix __ASSUME_PREADV and __ASSUME_PWRITEV for Alpha and MicroBlaze (bug 16649). Reviewing (for all architectures, with a baseline kernel version of 2.6.32) the kernel support for features for which __ASSUME_* macros would be affected by a move to 2.6.32 as minimum kernel version showed up that __ASSUME_PREADV and __ASSUME_PWRITEV were wrongly defined for MicroBlaze (despite the corresponding syscall table entries not being wired up in the kernel) and Alpha for 2.6.30 and above (although the support on Alpha was added in 2.6.33). This patch makes the kernel-features.h files undefine those macros for appropriate versions. [BZ #16649] * sysdeps/unix/sysv/linux/alpha/kernel-features.h [__LINUX_KERNEL_VERSION < 0x020621] (__ASSUME_PREADV): Undefine. [__LINUX_KERNEL_VERSION < 0x020621] (__ASSUME_PWRITEV): Likewise. * sysdeps/unix/sysv/linux/microblaze/kernel-features.h (__ASSUME_PREADV): Undefine. (__ASSUME_PWRITEV): Likewise. --- diff --git a/ChangeLog b/ChangeLog index 9db957d06ee..574abe16a4c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2014-03-19 Joseph Myers + + [BZ #16649] + * sysdeps/unix/sysv/linux/alpha/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x020621] (__ASSUME_PREADV): Undefine. + [__LINUX_KERNEL_VERSION < 0x020621] (__ASSUME_PWRITEV): Likewise. + * sysdeps/unix/sysv/linux/microblaze/kernel-features.h + (__ASSUME_PREADV): Undefine. + (__ASSUME_PWRITEV): Likewise. + 2014-03-18 Roland McGrath * bits/mman-linux.h: Add comment about non-Linux use. diff --git a/NEWS b/NEWS index df5507afcbb..5f9ffcc569f 100644 --- a/NEWS +++ b/NEWS @@ -10,8 +10,8 @@ Version 2.20 * The following bugs are resolved with this release: 15347, 15804, 15894, 16447, 16532, 16545, 16574, 16600, 16609, 16610, - 16611, 16613, 16623, 16632, 16639, 16642, 16670, 16674, 16677, 16680, - 16683, 16689, 16695, 16701, 16706, 16707. + 16611, 16613, 16623, 16632, 16639, 16642, 16649, 16670, 16674, 16677, + 16680, 16683, 16689, 16695, 16701, 16706, 16707. * Running the testsuite no longer terminates as soon as a test fails. Instead, a file tests.sum (xtests.sum from "make xcheck") is generated, diff --git a/sysdeps/unix/sysv/linux/alpha/kernel-features.h b/sysdeps/unix/sysv/linux/alpha/kernel-features.h index e691bb0e1ef..f3a7a555c0b 100644 --- a/sysdeps/unix/sysv/linux/alpha/kernel-features.h +++ b/sysdeps/unix/sysv/linux/alpha/kernel-features.h @@ -93,4 +93,10 @@ # define __ASSUME_FDATASYNC 1 #endif +/* Support for preadv and pwritev was added for alpha in 2.6.33. */ +#if __LINUX_KERNEL_VERSION < 0x020621 +# undef __ASSUME_PREADV +# undef __ASSUME_PWRITEV +#endif + #endif /* _KERNEL_FEATURES_H */ diff --git a/sysdeps/unix/sysv/linux/microblaze/kernel-features.h b/sysdeps/unix/sysv/linux/microblaze/kernel-features.h index dfb83443c1f..f9a61a94157 100644 --- a/sysdeps/unix/sysv/linux/microblaze/kernel-features.h +++ b/sysdeps/unix/sysv/linux/microblaze/kernel-features.h @@ -43,5 +43,8 @@ #include_next -/* The MicroBlaze kernel does not support the pselect6 syscall. */ +/* The MicroBlaze kernel does not support the pselect6, preadv and + pwritev syscalls. */ #undef __ASSUME_PSELECT +#undef __ASSUME_PREADV +#undef __ASSUME_PWRITEV