This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Fix __ASSUME_PREADV and __ASSUME_PWRITEV for Alpha and MicroBlaze (bug 16649)


Hi Joseph,

> -----Original Message-----
> From: Joseph Myers [mailto:joseph@codesourcery.com]
> Sent: Thursday, 13 March 2014 3:48 am
> To: libc-alpha@sourceware.org; David Holsgrove; Richard Henderson
> Subject: 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.
> 
> 2014-03-12  Joseph Myers  <joseph@codesourcery.com>
> 
> 	[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/sysdeps/unix/sysv/linux/alpha/kernel-features.h
> b/sysdeps/unix/sysv/linux/alpha/kernel-features.h
> index e691bb0..f3a7a55 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 dfb8344..f9a61a9 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 <kernel-features.h>
> 
> -/* 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
> 

Okay for MicroBlaze.

Kernel patches to wire pselect, preadv and pwritev queued up for inclusion
by the MicroBlaze kernel maintainer.

Once available in a released kernel, I'll set the version in glibc (hopefully v3.15).

thanks again,
David

> --
> Joseph S. Myers
> joseph@codesourcery.com




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]