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_MLOCK2 for ARM, MicroBlaze (bug 23867)



On 06/11/2018 20:56, Joseph Myers wrote:
> The generic kernel-features.h defines __ASSUME_MLOCK2 for 4.4 and
> later kernels.  However, for 32-bit ARM binaries running on 64-bit ARM
> kernels, and for MicroBlaze, the syscall was only wired up in the 4.7
> kernel.  (32-bit ARM kernels did have the syscall from 4.4 onwards.)
> This patch duly arranges for the macro to be undefined for those
> architectures for kernels before 4.7.
> 
> Tested with build-many-glibcs.py for its ARM and MicroBlaze
> configurations.

LGTM, for ARM it follows 10fdf8513f776 (arm64: unistd32.h: wire up 
missing syscalls for compat tasks) and for MicroBlaze fbce3befd60d4
( microblaze: Wire up userfaultfd, membarrier, mlock2 syscalls).

> 
> 2018-11-06  Joseph Myers  <joseph@codesourcery.com>
> 
> 	[BZ #23867]
> 	* sysdeps/unix/sysv/linux/arm/kernel-features.h
> 	[__LINUX_KERNEL_VERSION < 0x040700] (__ASSUME_MLOCK2): Undefine.
> 	* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
> 	[__LINUX_KERNEL_VERSION < 0x040700] (__ASSUME_MLOCK2): Undefine.
> 
> diff --git a/sysdeps/unix/sysv/linux/arm/kernel-features.h b/sysdeps/unix/sysv/linux/arm/kernel-features.h
> index 7831ab1e0f..c6e745227c 100644
> --- a/sysdeps/unix/sysv/linux/arm/kernel-features.h
> +++ b/sysdeps/unix/sysv/linux/arm/kernel-features.h
> @@ -40,5 +40,12 @@
>  #define __ASSUME_RECV_SYSCALL   1
>  #define __ASSUME_SEND_SYSCALL	1
>  
> +/* Support for the mlock2 syscall was added to the compat syscall
> +   table for 64-bit kernels in 4.7, although present in 32-bit kernels
> +   from 4.4.  */
> +#if __LINUX_KERNEL_VERSION < 0x040700
> +# undef __ASSUME_MLOCK2
> +#endif
> +
>  #undef __ASSUME_CLONE_DEFAULT
>  #define __ASSUME_CLONE_BACKWARDS	1
> diff --git a/sysdeps/unix/sysv/linux/microblaze/kernel-features.h b/sysdeps/unix/sysv/linux/microblaze/kernel-features.h
> index e8e2ac6a87..dfee428f49 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/kernel-features.h
> +++ b/sysdeps/unix/sysv/linux/microblaze/kernel-features.h
> @@ -58,6 +58,11 @@
>  # undef __ASSUME_EXECVEAT
>  #endif
>  
> +/* Support for the mlock2 syscall was added in 4.7.  */
> +#if __LINUX_KERNEL_VERSION < 0x040700
> +# undef __ASSUME_MLOCK2
> +#endif
> +
>  /* Support for the copy_file_range syscall was added in 4.10.  */
>  #if __LINUX_KERNEL_VERSION < 0x040A00
>  # undef __ASSUME_COPY_FILE_RANGE
> 


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